Not in the top 1,000 by GitHub stars
yamcodes/arkenv
⛯ Typesafe environment variables with ArkType, Zod, or Valibot.
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
packages/agent-plugin/skills/arkenv/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → d7fcbf52804a
No earlier version was observed for comparison.
skills/arkenv/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → d7fcbf52804a
No earlier version was observed for comparison.
skills/bulletproof-react/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → d7fcbf52804a
No earlier version was observed for comparison.
skills/changeset/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → d7fcbf52804a
No earlier version was observed for comparison.
skills/code-review/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → d7fcbf52804a
No earlier version was observed for comparison.
skills/create-skill/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → d7fcbf52804a
No earlier version was observed for comparison.
skills/diagnose/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → d7fcbf52804a
No earlier version was observed for comparison.
skills/docs-writer/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → d7fcbf52804a
No earlier version was observed for comparison.
skills/excalidraw/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → d7fcbf52804a
No earlier version was observed for comparison.
skills/forward-port/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → d7fcbf52804a
No earlier version was observed for comparison.
skills/gh-cli/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → d7fcbf52804a
No earlier version was observed for comparison.
skills/grill-me/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → d7fcbf52804a
No earlier version was observed for comparison.
skills/grill-with-docs/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → d7fcbf52804a
No earlier version was observed for comparison.
skills/groom-issue/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → d7fcbf52804a
No earlier version was observed for comparison.
skills/hallmark/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → d7fcbf52804a
No earlier version was observed for comparison.
skills/hexagonal-architecture/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → d7fcbf52804a
No earlier version was observed for comparison.
skills/improve-codebase-architecture/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → d7fcbf52804a
No earlier version was observed for comparison.
skills/internalize-skill/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → d7fcbf52804a
No earlier version was observed for comparison.
skills/jsdoc/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → d7fcbf52804a
No earlier version was observed for comparison.
skills/modularize/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → d7fcbf52804a
No earlier version was observed for comparison.
skills/next-best-practices/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → d7fcbf52804a
No earlier version was observed for comparison.
skills/nuxt/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → d7fcbf52804a
No earlier version was observed for comparison.
skills/pnpm/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → d7fcbf52804a
No earlier version was observed for comparison.
skills/point-latest-at-rc/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → d7fcbf52804a
No earlier version was observed for comparison.
skills/rename-skill/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → d7fcbf52804a
No earlier version was observed for comparison.
skills/setup-matt-pocock-skills/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → d7fcbf52804a
No earlier version was observed for comparison.
skills/sync-main/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → d7fcbf52804a
No earlier version was observed for comparison.
skills/tackle-issue/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → d7fcbf52804a
No earlier version was observed for comparison.
skills/tdd/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → d7fcbf52804a
No earlier version was observed for comparison.
skills/the-hat/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → d7fcbf52804a
No earlier version was observed for comparison.
skills/the-voice/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → d7fcbf52804a
No earlier version was observed for comparison.
skills/to-prd/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → d7fcbf52804a
No earlier version was observed for comparison.
skills/triage/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → d7fcbf52804a
No earlier version was observed for comparison.
skills/turborepo/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → d7fcbf52804a
No earlier version was observed for comparison.
skills/typescript/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → d7fcbf52804a
No earlier version was observed for comparison.
skills/write-a-skill/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → d7fcbf52804a
No earlier version was observed for comparison.
skills/write-issue/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → d7fcbf52804a
No earlier version was observed for comparison.
skills/zoom-out/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → d7fcbf52804a
No earlier version was observed for comparison.
Verified commit d7fcbf52804a4f09cbc9a0129b708ae75bb0e830
git clone --filter=blob:none --no-checkout https://github.com/yamcodes/arkenv.git .hotskills/yamcodes-arkenv && git -C .hotskills/yamcodes-arkenv checkout --detach d7fcbf52804a4f09cbc9a0129b708ae75bb0e830
# Copy each selected skill directory from .hotskills/yamcodes-arkenv into .claude/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/yamcodes/arkenv.git .hotskills/yamcodes-arkenv && git -C .hotskills/yamcodes-arkenv checkout --detach d7fcbf52804a4f09cbc9a0129b708ae75bb0e830
# Copy each selected skill directory from .hotskills/yamcodes-arkenv into .agents/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/yamcodes/arkenv.git .hotskills/yamcodes-arkenv && git -C .hotskills/yamcodes-arkenv checkout --detach d7fcbf52804a4f09cbc9a0129b708ae75bb0e830
# Copy each selected skill directory from .hotskills/yamcodes-arkenv into .cursor/skills/<skill-name>/Heat
1.8- Star growth, last 7 daysNot available
- Star growth, last 24 hoursNot available
- Rank movement, last 7 daysNot available
- Commits, last 30 daysNot available
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekNot available
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
30-day change not yet available: not enough history.
Individual skills in this repository
- arkenv
packages/agent-plugin/skills/arkenv - arkenv
skills/arkenv - bulletproof-react
skills/bulletproof-react - changeset
skills/changeset - code-review
skills/code-review - create-skill
skills/create-skill - diagnose
skills/diagnose - docs-writer
skills/docs-writer - excalidraw
skills/excalidraw - forward-port
skills/forward-port - gh-cli
skills/gh-cli - grill-me
skills/grill-me - grill-with-docs
skills/grill-with-docs - groom-issue
skills/groom-issue - hallmark
skills/hallmark - hexagonal-architecture
skills/hexagonal-architecture - improve-codebase-architecture
skills/improve-codebase-architecture - internalize-skill
skills/internalize-skill - jsdoc
skills/jsdoc - modularize
skills/modularize - next-best-practices
skills/next-best-practices - nuxt
skills/nuxt - pnpm
skills/pnpm - point-latest-at-rc
skills/point-latest-at-rc - rename-skill
skills/rename-skill - setup-matt-pocock-skills
skills/setup-matt-pocock-skills - sync-main
skills/sync-main - tackle-issue
skills/tackle-issue - tdd
skills/tdd - the-hat
skills/the-hat - the-voice
skills/the-voice - to-prd
skills/to-prd - triage
skills/triage - turborepo
skills/turborepo - typescript
skills/typescript - write-a-skill
skills/write-a-skill - write-issue
skills/write-issue - zoom-out
skills/zoom-out
How it works
arkenv
When your agent uses it
Use when setting up or changing environment variable validation with ArkEnv, or when application code reads process.env / import.meta.env. Enforce import { env } from "./env".
What it loads into context
Frontmatter
46 tokensAlways available to the agent
SKILL.md
246 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
../../../../.claude-plugin/marketplace.jsonasset438 bytes../../.claude-plugin/plugin.jsonasset217 bytesSKILL.mdcore895 bytes
Read SKILL.md
# ArkEnv
ArkEnv v1's only application surface is `import { env } from "./env"`.
- Runtime: `@arkenv/core` (ArkType) or `@arkenv/standard` (Zod, Valibot, Standard Schema).
- CLI: `npx arkenv init --agent`. Parse JSON on stdout. Never pass `--force` unless a refusal's `nextActions` include a `run-command` with `--force`.
- Do not read `process.env` or `import.meta.env` in application components.
- Do not add ambient `.d.ts` `ProcessEnv` / `ImportMetaEnv` augmentations.
- Public prefixes: `NEXT_PUBLIC_`, `NUXT_PUBLIC_`, `VITE_`, `BUN_PUBLIC_`. Never put secrets behind those prefixes.
- Prefer MCP tools `init` and `audit` from this plugin (`/arkenv:init`, `/arkenv:audit`).View the complete source on GitHubarkenv
When your agent uses it
Answer questions about ArkEnv and help implement environment variable validation. Use when developers: (1) Ask about environment variable validation or typesafety, (2) Want to setup ArkEnv in a project, (3) Need to define or update schemas using ArkType or Standard Schema, (4) Are integrating with Next.js, Nuxt, Vite, Bun, or Node.js runtimes. Triggers on: 'ArkEnv', 'env validation', 'typesafe env', 'createEnv', 'env.ts', 'arkenv'.
What it loads into context
Frontmatter
118 tokensAlways available to the agent
SKILL.md
2,557 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Capabilities
- CLI commands
- Defining Schemas & Importing `env`
- Framework Setup Patterns
- Security Boundaries & Layouts
- Best Practices & Rules
Files
SKILL.mdcore9,886 bytesSKILL.mdcore9,886 bytesSKILL.mdcore9,886 bytes
Read SKILL.md
# ArkEnv
ArkEnv is a typesafe environment variable validation library for modern JavaScript and TypeScript frameworks. It provides a **single canonical surface across all frameworks: `import { env } from "./env"`**.
In v1, ArkEnv offers two first-class validation engines:
- **`@arkenv/core`**: Built-in ArkType DSL engine for high-performance schema definition and automatic coercion.
- **`@arkenv/standard`**: Standard Schema engine supporting any compliant validator (Zod, Valibot, etc.).
---
## Capabilities
### Core usage
View the complete source on GitHubbulletproof-react
When your agent uses it
Bulletproof React architecture patterns for scalable, maintainable applications. Covers feature-based project structure, component patterns, state management boundaries, API layer design, error handling, security, and testing strategies. Use when structuring a React project, designing application architecture, organizing features, or when the user asks about React project structure or scalable patterns.
What it loads into context
Frontmatter
110 tokensAlways available to the agent
SKILL.md
1,388 tokensWhen the skill is activated
Reference documents
7,156 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Core references
- Project structure
- Component hierarchy
- API layer pattern
- State management boundaries
- Error hierarchy
- Testing strategy
- Conventions
Files
SKILL.mdcore7,228 bytesreferences/README.mddoc1,381 bytesreferences/api-layer.mddoc3,335 bytesreferences/components-and-styling.mddoc3,870 bytesreferences/error-handling.mddoc2,123 bytesreferences/performance.mddoc4,188 bytesreferences/project-standards.mddoc2,694 bytesreferences/project-structure.mddoc3,727 bytesreferences/security.mddoc2,978 bytesreferences/state-management.mddoc3,690 bytesreferences/testing.mddoc4,308 bytes
Read SKILL.md
# Bulletproof React
Architecture patterns for building scalable, maintainable React applications. Based on [bulletproof-react](https://github.com/alan2207/bulletproof-react).
## Core references
| Topic | Description | Reference |
| -------------------- | ------------------------------------------------------------------------------- | -------------------------------------------------------------- |
| Project Structure | Feature-based organization, unidirectional architecture, ESLint enforcement | [project-structure](references/project-structure.md) |
| Components & Styling | Component hierarchy, wrapping 3rd party libs, headless vs styled libraries | [components-and-styling](references/components-and-styling.md) |
| API Layer | API client, request declarations, query/mutation hook patterns | [api-layer](references/api-layer.md) |
| State Management | Component, application, server cache, form, and URL state categories | [state-management](references/state-management.md) |
| Error Handling | Error boundaries, API errors, error tracking with Sentry | [error-handling](references/error-handling.md) |
| Testing | Unit, integration, e2e strategies with Vitest, Testing Library, Playwright, MSW | [testing](references/testing.md) |View the complete source on GitHubchangeset
When your agent uses it
Creates changesets for semantic versioning. Use when adding changesets, preparing releases, determining version bumps (patch/minor/major), generating changelog entries, or documenting breaking changes.
What it loads into context
Frontmatter
93 tokensAlways available to the agent
SKILL.md
3,363 tokensWhen the skill is activated
Reference documents
2,036 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- When to use
- What is a changeset?
- Changeset types
- Decision guide
- v0 Rules (Legacy / Reference Only)
- Decision guide (v1+ rules)
- Creating a changeset
- Modifying an existing changeset
- Release workflow
- Pre-release versions
- Checking status
- Common mistakes
- Common scenarios
- References
- Related skills
- Credits
Files
SKILL.mdcore14,076 bytesSKILL.mdcore14,076 bytesSKILL.mdcore14,076 bytesSKILL.mdcore14,076 bytesreferences/scenarios.mddoc2,451 bytes../gh-cli/SKILL.mddoc1,394 bytes../tackle-issue/SKILL.mddoc4,415 bytes
Read SKILL.md
# Changeset & release manager
## Overview
Automate the creation and modification of changesets following project conventions, ensuring proper version bumps and well-documented release notes.
## When to use
- After completing a feature or fix
- Before creating a PR
- When updating or correcting an existing changeset
- When preparing a release
- To document breaking changes
View the complete source on GitHubcode-review
When your agent uses it
Fetch, analyze, and address code reviews and comments on GitHub, or perform a code review on changes in the workspace. Make sure to use this skill whenever the user mentions code reviews, addressing PR reviews, fixing PR comments, resolving review feedback, performing a code review, or running '/code-review', even if they don't explicitly name GitHub or the PR number.
What it loads into context
Frontmatter
87 tokensAlways available to the agent
SKILL.md
1,264 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Workflow Selection
- Mode A: Address / Fix Review Comments
- Mode B: Perform Code Review
Files
SKILL.mdcore5,436 bytesSKILL.mdcore5,436 bytesSKILL.mdcore5,436 bytesSKILL.mdcore5,436 bytesSKILL.mdcore5,436 bytes
Read SKILL.md
# Code Review
A dual-purpose skill to either (1) systematically retrieve and address pull request review comments on GitHub, or (2) perform a code review on changes in the workspace.
## Workflow Selection
At the start of execution, identify the user's intent:
- **Mode A: Address / Fix Review Comments**: Follow this mode if the user wants to address, fix, or resolve comments/feedback from a prior or active review (e.g., "fix PR comments", "address review notes", "resolve feedback", "address /code-review").
- **Mode B: Perform Code Review**: Follow this mode if the user wants a review of their changes or the current workspace (e.g., "review my code", "check these changes", "do a code review", "/code-review").
---
## Mode A: Address / Fix Review CommentsView the complete source on GitHubcreate-skill
When your agent uses it
Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.
What it loads into context
Frontmatter
74 tokensAlways available to the agent
SKILL.md
7,253 tokensWhen the skill is activated
Reference documents
9,508 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Communicating with the user
- Creating a skill
- Running and evaluating test cases
- Improving the skill
- Advanced: blind comparison
- Description optimization
- Claude.ai-specific instructions
- Cowork-specific instructions
- Reference files
Scripts executed separately
eval-viewer/generate_review.pyscripts/__init__.pyscripts/aggregate_benchmark.pyscripts/generate_report.pyscripts/improve_description.pyscripts/package_skill.pyscripts/quick_validate.pyscripts/run_eval.pyscripts/run_loop.pyscripts/utils.py
Files
LICENSE.txtdoc11,345 bytesSKILL.mdcore33,121 bytesSKILL.mdcore33,121 bytesSKILL.mdcore33,121 bytesSKILL.mdcore33,121 bytesSKILL.mdcore33,121 bytesSKILL.mdcore33,121 bytesagents/analyzer.mddoc10,561 bytesagents/comparator.mddoc7,485 bytesagents/grader.mddoc9,035 bytesassets/eval-review.htmlasset7,297 byteseval-viewer/generate_review.pyruns16,361 byteseval-viewer/viewer.htmlasset45,141 bytesreferences/schemas.mddoc12,063 bytesscripts/__init__.pyruns0 bytesscripts/aggregate_benchmark.pyruns14,381 bytesscripts/generate_report.pyruns12,845 bytesscripts/improve_description.pyruns10,708 bytesscripts/package_skill.pyruns4,234 bytesscripts/quick_validate.pyruns3,972 bytesscripts/run_eval.pyruns9,177 bytesscripts/run_loop.pyruns13,605 bytesscripts/utils.pyruns1,660 bytestackle-issue.skillasset1,901 bytes
Read SKILL.md
# Create skill
A skill for creating new skills and iteratively improving them.
At a high level, the process of creating a skill goes like this:
- Decide what you want the skill to do and roughly how it should do it
- Write a draft of the skill
- Create a few test prompts and run claude-with-access-to-the-skill on them
- Help the user evaluate the results both qualitatively and quantitatively
- While the runs happen in the background, draft some quantitative evals if there aren't any (if there are some, you can either use as is or modify if you feel something needs to change about them). Then explain them to the user (or if they already existed, explain the ones that already exist)
- Use the `eval-viewer/generate_review.py` script to show the user the results for them to look at, and also let them look at the quantitative metrics
- Rewrite the skill based on feedback from the user's evaluation of the results (and also if there are any glaring flaws that become apparent from the quantitative benchmarks)
- Repeat until you're satisfiedView the complete source on GitHubdiagnose
When your agent uses it
Disciplined diagnosis loop for hard bugs and performance regressions. Reproduce → minimise → hypothesise → instrument → fix → regression-test. Use when user says "diagnose this" / "debug this", reports a bug, says something is broken/throwing/failing, or describes a performance regression.
What it loads into context
Frontmatter
75 tokensAlways available to the agent
SKILL.md
1,653 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Phase 1 - build a feedback loop
- Phase 2 - reproduce
- Phase 3 - hypothesise
- Phase 4 - instrument
- Phase 5 - fix + regression test
- Phase 6 - cleanup + post-mortem
Scripts executed separately
scripts/hitl-loop.template.sh
Files
SKILL.mdcore7,178 bytesSKILL.mdcore7,178 bytesscripts/hitl-loop.template.shruns1,189 bytes
Read SKILL.md
# Diagnose
A discipline for hard bugs. Skip phases only when explicitly justified.
When exploring the codebase, use the project's domain glossary to get a clear mental model of the relevant modules, and check ADRs in the area you're touching.
## Phase 1 - build a feedback loop
**This is the skill.** Everything else is mechanical. If you have a fast, deterministic, agent-runnable pass/fail signal for the bug, you will find the cause - bisection, hypothesis-testing, and instrumentation all just consume that signal. If you don't have one, no amount of staring at code will save you.
Spend disproportionate effort here. **Be aggressive. Be creative. Refuse to give up.**
### Ways to construct one - try them in roughly this order
View the complete source on GitHubdocs-writer
When your agent uses it
Always use this skill when the task involves writing, reviewing, or editing files in the `/docs` directory or any `.md` files in the repository. For ArkEnv tone, register, or "fix the voice", also load the-voice.
What it loads into context
Frontmatter
98 tokensAlways available to the agent
SKILL.md
2,187 tokensWhen the skill is activated
Reference documents
2,668 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Phase 1: Documentation standards
- Phase 2: Preparation
- Phase 3: Execution
- Phase 4: Verification and finalization
- Credits
Files
SKILL.mdcore9,482 bytesquota-limit-style-guide.mddoc2,120 bytesreferences/docs-auditing.mddoc10,088 bytes
Read SKILL.md
# `docs-writer` skill instructions
For ArkEnv **register** (what/why/how, Turbo-shaped docs, house terms),
follow **the-voice**. This skill is mechanics: links, wrapping,
structure. Ignore Gemini CLI naming. When tone and this file conflict,
the-voice wins. Site notes use fumadocs `<Callout>`, not GitHub alerts.
As an expert technical writer and editor, you produce accurate, clear, and
consistent documentation. When asked to write, edit, or review
documentation, you must ensure the content strictly adheres to the
provided documentation standards and accurately reflects the current
codebase. Adhere to the contribution process in `CONTRIBUTING.md` and the
following project standards.
View the complete source on GitHubexcalidraw
When your agent uses it
Generate Excalidraw diagrams from natural language descriptions. Use when asked to "create a diagram", "make a flowchart", "visualize a process", "draw a system architecture", "create a mind map", or "generate an Excalidraw file". Supports flowcharts, relationship diagrams, mind maps, and system architecture diagrams. Outputs .excalidraw JSON files that can be opened directly in Excalidraw.
What it loads into context
Frontmatter
132 tokensAlways available to the agent
SKILL.md
5,930 tokensWhen the skill is activated
Reference documents
7,000 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use This Skill
- Prerequisites
- Step-by-Step Workflow
- Best Practices
- Example Prompts and Responses
- Troubleshooting
- Advanced Techniques
- Output Format
- Validation Checklist
- Icon Libraries (Optional Enhancement)
- References
- Limitations
- Future Enhancements
Scripts executed separately
scripts/.gitignorescripts/add-arrow.pyscripts/add-icon-to-diagram.pyscripts/split-excalidraw-library.py
Files
SKILL.mdcore24,619 bytesSKILL.mdcore24,619 bytesSKILL.mdcore24,619 bytesSKILL.mdcore24,619 bytesSKILL.mdcore24,619 bytesSKILL.mdcore24,619 bytesSKILL.mdcore24,619 bytesSKILL.mdcore24,619 bytesSKILL.mdcore24,619 bytesreferences/element-types.mddoc9,798 bytesreferences/excalidraw-schema.mddoc8,419 bytesscripts/.gitignoreruns484 bytesscripts/README.mddoc6,463 bytesscripts/add-arrow.pyruns9,775 bytesscripts/add-icon-to-diagram.pyruns13,387 bytesscripts/split-excalidraw-library.pyruns5,510 bytestemplates/business-flow-swimlane-template.excalidrawasset7,795 bytestemplates/class-diagram-template.excalidrawasset12,924 bytestemplates/data-flow-diagram-template.excalidrawasset6,447 bytestemplates/er-diagram-template.excalidrawasset15,414 bytestemplates/flowchart-template.excalidrawasset4,080 bytestemplates/mindmap-template.excalidrawasset5,382 bytestemplates/relationship-template.excalidrawasset3,321 bytestemplates/sequence-diagram-template.excalidrawasset11,716 bytes
Read SKILL.md
# Excalidraw Diagram Generator
A skill for generating Excalidraw-format diagrams from natural language descriptions. This skill helps create visual representations of processes, systems, relationships, and ideas without manual drawing.
## When to Use This Skill
Use this skill when users request:
- "Create a diagram showing..."
- "Make a flowchart for..."
- "Visualize the process of..."
- "Draw the system architecture of..."
- "Generate a mind map about..."
- "Create an Excalidraw file for..."View the complete source on GitHubforward-port
When your agent uses it
Manually forward-ports merged dev (v0) changes to the v1 branch, adapting code to v1's package layout and changeset names. Use when a dev PR is merged and needs v1 parity, when triaging "(v1)" reconciliation issues, or when the user mentions forward-porting, dual-tracking, or dev-to-v1 porting.
What it loads into context
Frontmatter
88 tokensAlways available to the agent
SKILL.md
1,042 tokensWhen the skill is activated
Reference documents
8,991 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to forward-port
- Quick start
- Workflow
- Acceptance checklist
- Common mistakes
- Related
Files
../../docs/CONTRIBUTING.mddoc15,559 bytes../changeset/SKILL.mddoc14,076 bytesREFERENCE.mddoc5,816 bytesSKILL.mdcore3,891 bytesSKILL.mdcore3,891 bytesSKILL.mdcore3,891 bytes
Read SKILL.md
# Forward-port (dev → v1)
ArkEnv runs **dual-tracking**: non-breaking work lands on `dev` (v0) first, then is manually adapted onto `v1`. Never merge `dev` into `v1` wholesale - structural differences cause severe tree conflicts.
See [REFERENCE.md](REFERENCE.md) for the full path/package map, changeset rename table, and real port examples.
## When to forward-port
Forward-port after a **merged dev PR** that fixes a bug, adds a non-breaking feature, or updates shared integrations.
**Skip forward-porting** when work is `(v1)`-only, introduces dev-only structure, or should be implemented natively on `v1`.
## Quick start
View the complete source on GitHubgh-cli
When your agent uses it
Use for GitHub-related tasks such as managing issues, pull requests, actions runs, and repository configuration using the GitHub CLI (gh).
What it loads into context
Frontmatter
41 tokensAlways available to the agent
SKILL.md
397 tokensWhen the skill is activated
Reference documents
169 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Common workflows
- Best practices
Files
SKILL.mdcore1,394 bytesreferences/commands.mddoc651 bytes
Read SKILL.md
# Gh CLI
This skill provides guidance for using the GitHub CLI (`gh`) to automate and streamline GitHub workflows.
## Common workflows
### Actions & runs
- **List recent runs**: `gh run list`
- **View a specific run**: `gh run view <run-id>`
- **View job logs**: `gh run view <run-id> --job <job-id> --log`
- **Rerun failed jobs**: `gh run rerun <run-id> --failed`
### Pull requestsView the complete source on GitHubgrill-me
When your agent uses it
Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree. Use when user wants to stress-test a plan, get grilled on their design, or mentions "grill me".
What it loads into context
Frontmatter
58 tokensAlways available to the agent
SKILL.md
129 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore662 bytes
Read SKILL.md
Interview me relentlessly about every aspect of this plan until we reach a shared understanding. Walk down each branch of the design tree, resolving dependencies between decisions one-by-one. For each question, provide your recommended answer.
Ask the questions one at a time.
If a question can be answered by exploring the codebase, explore the codebase instead.View the complete source on GitHubgrill-with-docs
When your agent uses it
Grilling session that challenges your plan against the existing domain model, sharpens terminology, and updates documentation (docs/CONTEXT.md, ADRs) inline as decisions crystallise. Use when user wants to stress-test a plan against their project's language and documented decisions.
What it loads into context
Frontmatter
68 tokensAlways available to the agent
SKILL.md
864 tokensWhen the skill is activated
Reference documents
1,349 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Domain awareness
- During the session
Files
ADR-FORMAT.mddoc2,786 bytesCONTEXT-FORMAT.mddoc3,139 bytesSKILL.mdcore3,693 bytes
Read SKILL.md
<what-to-do>
Interview me relentlessly about every aspect of this plan until we reach a shared understanding. Walk down each branch of the design tree, resolving dependencies between decisions one-by-one. For each question, provide your recommended answer.
Ask the questions one at a time, waiting for feedback on each question before continuing.
If a question can be answered by exploring the codebase, explore the codebase instead.
</what-to-do>
<supporting-info>
## Domain awareness
During codebase exploration, also look for existing documentation:
### File structureView the complete source on GitHubgroom-issue
When your agent uses it
Groom a poorly written issue by grilling the user to clarify requirements, updating the issue on GitHub via the gh cli, and utilizing the triage skill to apply the correct label and add an agent brief if necessary. Use when the user wants to groom, flesh out, or clarify a poorly written issue.
What it loads into context
Frontmatter
75 tokensAlways available to the agent
SKILL.md
925 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Trigger
- Workflow
Files
SKILL.mdcore4,115 bytesSKILL.mdcore4,115 bytesSKILL.mdcore4,115 bytesSKILL.mdcore4,115 bytesSKILL.mdcore4,115 bytes
Read SKILL.md
# Groom issue
This skill takes a poorly written, ambiguous, or incomplete issue, conducts an interactive grilling session with the user to clarify requirements, updates the issue on GitHub using the GitHub CLI (`gh`), and utilizes the existing `/triage` skill workflow to apply the correct canonical labels and post an authoritative agent brief.
## Trigger
Use this skill whenever the user says `/groom-issue <number>` or asks to "groom", "clarify", "flesh out", or "improve" a poorly written issue.
## Workflow
### 1. Context gathering & initial assessment
Before asking any questions, you MUST examine the current state of the issue and the surrounding codebase.
View the complete source on GitHubhallmark
When your agent uses it
Anti-AI-slop design skill for greenfield pages, audits, redesigns, and design extraction from URLs or screenshots. Use when the user asks to build a new app or landing page, wants to redesign something, invokes Hallmark by name, or uses audit/redesign/study.
What it loads into context
Frontmatter
80 tokensAlways available to the agent
SKILL.md
16,184 tokensWhen the skill is activated
Reference documents
159,906 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- How to use this skill
- Disciplines that hold across every verb
- When the brief is a component, not a page
- Design flow (default)
- `hallmark audit`
- `hallmark redesign`
- `hallmark study`
- Output contract & scope
Files
SKILL.mdcore72,746 bytesSKILL.mdcore72,746 bytesSKILL.mdcore72,746 bytesSKILL.mdcore72,746 bytesSKILL.mdcore72,746 bytesSKILL.mdcore72,746 bytesSKILL.mdcore72,746 bytesreferences/anti-patterns.mddoc25,586 bytesreferences/assets.mddoc32,646 bytesreferences/color.mddoc4,464 bytesreferences/component-cookbook.mddoc40,314 bytesreferences/components/c1-outlined-chip.mddoc464 bytesreferences/components/c2-inline-form-as-cta.mddoc670 bytesreferences/components/c3-typographic-link.mddoc280 bytesreferences/components/c4-sticky-bottom-bar.mddoc671 bytesreferences/components/f1-bento-grid.mddoc782 bytesreferences/components/f2-sticky-scroll-stack.mddoc899 bytesreferences/components/f3-tabular-spec-sheet.mddoc419 bytesreferences/components/f4-step-sequence.mddoc448 bytesreferences/components/f5-annotated-screenshot.mddoc410 bytesreferences/components/f6-product-card-grid.mddoc2,721 bytesreferences/components/ft1-mast-headed.mddoc501 bytesreferences/components/ft2-inline-rule-single-line.mddoc362 bytesreferences/components/ft3-index-style-category-list.mddoc483 bytesreferences/components/ft4-dense-typographic.mddoc497 bytesreferences/components/ft5-statement.mddoc1,299 bytesreferences/components/ft6-letter-close.mddoc1,111 bytesreferences/components/ft7-newsletter-first.mddoc1,753 bytesreferences/components/ft8-marquee-scroll.mddoc1,498 bytesreferences/components/h1-marquee.mddoc507 bytesreferences/components/h2-split-diptych.mddoc600 bytesreferences/components/h3-quote-led.mddoc420 bytesreferences/components/h4-stat-led.mddoc509 bytesreferences/components/h5-letter-hero.mddoc359 bytesreferences/components/h6-photographic-fold.mddoc586 bytesreferences/components/h7-demo-video-clipped-by-viewport-edge.mddoc1,609 bytesreferences/components/h8-mockup-split-browser-framed.mddoc1,309 bytesreferences/components/h9-custom-illustration-centerpiece.mddoc1,475 bytesreferences/components/n1-wordmark-2-links.mddoc388 bytesreferences/components/n10-floating-on-scroll-morph.mddoc1,381 bytesreferences/components/n11-mega-menu.mddoc3,149 bytesreferences/components/n12-banner-retract.mddoc2,848 bytesreferences/components/n13-inline-cmdk-pill.mddoc3,306 bytesreferences/components/n1b-saas-three-section.mddoc3,041 bytesreferences/components/n2-floating-chip.mddoc615 bytesreferences/components/n3-side-rail.mddoc534 bytesreferences/components/n4-hidden-behind-k.mddoc373 bytesreferences/components/n5-floating-pill.mddoc1,414 bytesreferences/components/n6-newspaper-masthead.mddoc1,617 bytesreferences/components/n7-brutal-slab.mddoc1,378 bytesreferences/components/n8-terminal-command.mddoc1,649 bytesreferences/components/n9-edge-aligned-minimal.mddoc866 bytesreferences/components/s1-left-margin-numbered.mddoc491 bytesreferences/components/s2-hanging.mddoc357 bytesreferences/components/s3-sticky-pinned.mddoc1,177 bytesreferences/components/s4-inline-no-break.mddoc438 bytesreferences/components/s5-bottom-anchored.mddoc358 bytesreferences/components/t1-pull-quote-with-marginalia.mddoc465 bytesreferences/components/t2-logo-wall-hairline.mddoc733 bytesreferences/components/t3-single-huge-quote.mddoc488 bytesreferences/components/t4-numbered-stat-strip.mddoc470 bytesreferences/contract.mddoc2,019 bytesreferences/copy.mddoc12,383 bytesreferences/custom-craft.mddoc38,056 bytesreferences/custom-theme.mddoc23,853 bytesreferences/design-md.mddoc7,488 bytesreferences/export-formats.mddoc15,889 bytesreferences/floating-nav.mddoc5,971 bytesreferences/genres/atmospheric.mddoc5,021 bytesreferences/genres/editorial.mddoc4,091 bytesreferences/genres/modern-minimal.mddoc4,786 bytesreferences/genres/playful.mddoc5,152 bytesreferences/hero-enrichment.mddoc34,357 bytesreferences/imagery-kit.mddoc9,029 bytesreferences/interaction-and-states.mddoc15,506 bytesreferences/layout-and-space.mddoc6,744 bytesreferences/macrostructures.mddoc11,503 bytesreferences/macrostructures/01-bento-grid.mddoc1,826 bytesreferences/macrostructures/02-long-document.mddoc1,710 bytesreferences/macrostructures/03-marquee-hero.mddoc1,631 bytesreferences/macrostructures/04-stat-led.mddoc2,100 bytesreferences/macrostructures/05-workbench.mddoc1,676 bytesreferences/macrostructures/06-conversational-faq.mddoc1,601 bytesreferences/macrostructures/07-manifesto.mddoc1,699 bytesreferences/macrostructures/08-photographic.mddoc1,475 bytesreferences/macrostructures/09-quote-led.mddoc1,803 bytesreferences/macrostructures/10-specimen.mddoc1,594 bytesreferences/macrostructures/11-catalogue.mddoc1,172 bytesreferences/macrostructures/12-letter.mddoc1,241 bytesreferences/macrostructures/13-index-first.mddoc1,194 bytesreferences/macrostructures/14-narrative-workflow.mddoc1,414 bytesreferences/macrostructures/15-split-studio.mddoc1,324 bytesreferences/macrostructures/16-feature-stack.mddoc1,374 bytesreferences/macrostructures/17-type-specimen.mddoc1,259 bytesreferences/macrostructures/18-portfolio-grid.mddoc1,047 bytesreferences/macrostructures/19-map-diagram.mddoc1,257 bytesreferences/macrostructures/20-ecosystem-index.mddoc1,195 bytesreferences/macrostructures/21-component-playground.mddoc1,161 bytesreferences/microinteractions.mddoc25,624 bytesreferences/motion.mddoc4,332 bytesreferences/preview-examples.mddoc2,828 bytesreferences/responsive.mddoc5,888 bytesreferences/slop-test.mddoc31,694 bytesreferences/structure.mddoc22,784 bytesreferences/study.mddoc50,278 bytesreferences/themes/carnival.mddoc20,145 bytesreferences/themes/cobalt.mddoc12,077 bytesreferences/themes/hum.mddoc34,848 bytesreferences/themes/lumen.mddoc29,480 bytesreferences/typography.mddoc23,770 bytesreferences/verbs/audit.mddoc2,785 bytesreferences/verbs/redesign.mddoc13,809 bytes
Read SKILL.md
# Hallmark
A design skill for AI coding assistants. Makes the UIs they generate look made, not generated.
Hallmark is opinionated, short, and boring on purpose. It encodes a tight set of rules - drawn from the consensus of the anti-AI-slop design field (Anthropic's frontend-design skill, the Claude cookbook on frontend aesthetics, and the 2026 "tactile rebellion" movement) - and refuses to let the model fall back to the defaults every LLM was trained on.
The differentiator: Hallmark insists on **structural variety**, not just visual variety. Two pages by Hallmark for two different briefs should not share the same hero → 3-feature → CTA → footer rhythm. They should feel like different sites, not different colour-swaps of the same template. See [`references/structure.md`](references/structure.md).
**Powered by Together AI.**
---
## How to use this skill
View the complete source on GitHubhexagonal-architecture
When your agent uses it
Design, implement, and refactor Ports & Adapters systems with clear domain boundaries, dependency inversion, and testable use-case orchestration across TypeScript, Java, Kotlin, and Go services.
What it loads into context
Frontmatter
58 tokensAlways available to the agent
SKILL.md
2,379 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to use
- Core concepts
- How it works
- Architecture diagram
- Suggested module layout
- TypeScript example
- Multi-language mapping
- Anti-patterns to avoid
- Migration playbook
- Testing guidance (same hexagonal boundaries)
- Best practices checklist
Files
SKILL.mdcore11,420 bytes
Read SKILL.md
# Hexagonal architecture
Hexagonal architecture (Ports and Adapters) keeps business logic independent from frameworks, transport, and persistence details. The core app depends on abstract ports, and adapters implement those ports at the edges.
## When to use
- Building new features where long-term maintainability and testability matter.
- Refactoring layered or framework-heavy code where domain logic is mixed with I/O concerns.
- Supporting multiple interfaces for the same use case (HTTP, CLI, queue workers, cron jobs).
- Replacing infrastructure (database, external APIs, message bus) without rewriting business rules.
Use this skill when the request involves boundaries, domain-centric design, refactoring tightly coupled services, or decoupling application logic from specific libraries.
## Core conceptsView the complete source on GitHubimprove-codebase-architecture
When your agent uses it
Find deepening opportunities in a codebase, informed by the domain language in docs/CONTEXT.md and the decisions in docs/adr/. Use when the user wants to improve architecture, find refactoring opportunities, consolidate tightly-coupled modules, or make a codebase more testable and AI-navigable.
What it loads into context
Frontmatter
79 tokensAlways available to the agent
SKILL.md
1,169 tokensWhen the skill is activated
Reference documents
3,323 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Glossary
- Process
Files
../grill-with-docs/ADR-FORMAT.mddoc2,786 bytes../grill-with-docs/CONTEXT-FORMAT.mddoc3,139 bytesDEEPENING.mddoc2,557 bytesINTERFACE-DESIGN.mddoc2,714 bytesLANGUAGE.mddoc3,790 bytesSKILL.mdcore5,155 bytes
Read SKILL.md
# Improve codebase architecture
Surface architectural friction and propose **deepening opportunities** - refactors that turn shallow modules into deep ones. The aim is testability and AI-navigability.
## Glossary
Use these terms exactly in every suggestion. Consistent language is the point - don't drift into "component," "service," "API," or "boundary." Full definitions in [LANGUAGE.md](LANGUAGE.md).
- **Module** - anything with an interface and an implementation (function, class, package, slice).
- **Interface** - everything a caller must know to use the module: types, invariants, error modes, ordering, config. Not just the type signature.
- **Implementation** - the code inside.
- **Depth** - leverage at the interface: a lot of behaviour behind a small interface. **Deep** = high leverage. **Shallow** = interface nearly as complex as the implementation.
- **Seam** - where an interface lives; a place behaviour can be altered without editing in place. (Use this, not "boundary.")
- **Adapter** - a concrete thing satisfying an interface at a seam.View the complete source on GitHubinternalize-skill
When your agent uses it
Move newly installed skills from '.agents/skills/' to the project's root 'skills/' directory, with options to rename and attribute them, and mark them as internal. Use this skill whenever a new skill is installed and needs to be promoted, renamed, or attributed as a project-internal skill.
What it loads into context
Frontmatter
75 tokensAlways available to the agent
SKILL.md
708 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Workflow
- Implementation details
- Safety checks
Files
SKILL.mdcore2,999 bytesSKILL.mdcore2,999 bytesSKILL.mdcore2,999 bytes
Read SKILL.md
# Internalize skill
This skill automates the process of moving externally installed skills to the project's internal `skills/` directory, tagging them as internal, and optionally renaming and attributing them.
## Workflow
1. **Identify Target Skills & Options:**
- Check the `.agents/skills/` (or `.agent/skills/`) directory for subdirectories.
- If the user explicitly named a skill (e.g., "internalize the research skill"), focus only on that one.
- If the user was vague, clarify which skill to target.
- **Ask the user** if they would like to:
- Rename the skill (e.g., change `creating-changesets` to `arkenv-changesets`).
- Add attribution details (e.g., `original_author`, original `origin` repository url).
View the complete source on GitHubjsdoc
When your agent uses it
Use this skill to automatically write or fix JSDoc comments for JavaScript/TypeScript code. It handles requests to document code at any scope: a single function, all functions in a file, or just the new and changed functions in a pull request.
What it loads into context
Frontmatter
66 tokensAlways available to the agent
SKILL.md
786 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to add jsdoc
- Jsdoc requirements
- Example
- Applying to multiple functions
Files
SKILL.mdcore3,353 bytesevals/evals.jsonasset2,855 bytes
Read SKILL.md
# Jsdoc generation skill
This skill guides the agent in adding or updating JSDoc comments for functions in TypeScript codebases.
## When to add jsdoc
- Add JSDoc to functions UNLESS the code is entirely self-explanatory or the function is named so clearly that a comment would be redundant.
- If in doubt, lean towards adding JSDoc if the function has complex logic or multiple parameters, but skip it for simple getters/setters or obvious utilities.
- For existing functions that already have JSDoc, ONLY update the JSDoc if there is a typo or if it no longer reflects the code's intent. Do NOT make redundant rephrasings or meaningless sentence shifts.
## Jsdoc requirements
When generating JSDoc comments, you MUST strictly adhere to the following rules:
View the complete source on GitHubmodularize
When your agent uses it
Automatically refactor, split, and compress codebase files when they exceed size or complexity boundaries. Trigger when the user requests to split a file, modularize code, or refactor a large module, and when files exceed size (~200 lines) or complexity guidelines.
What it loads into context
Frontmatter
66 tokensAlways available to the agent
SKILL.md
797 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 1. Core heuristics & guardrails
- 2. Refactoring patterns
- 3. Step-by-step workflow
Files
SKILL.mdcore3,610 bytesSKILL.mdcore3,610 bytesevals/evals.jsonasset1,944 bytes
Read SKILL.md
# Modularize
A skill for automatically refactoring, splitting, and compressing codebase files when they exceed size or complexity boundaries.
## 1. Core heuristics & guardrails
Rather than enforcing a strict, rigid line count, utilize \~200 lines as a **warning light/signal** to evaluate logical cohesion and maintainability.
### Heuristics to evaluate before refactoring:
- **Logical Cohesion**: Does the file focus on one primary concern? Or does it contain independent blocks?
- **Function/Block Size**: Prioritize keeping functions small (under 20-30 lines) first.
- **Nesting/Complexity**: High cyclomatic complexity/nesting vs. simple flat lists.
- **Fragmentation Risk**: Avoid "jump-to-definition" fatigue by not over-splitting cohesive units.View the complete source on GitHubnext-best-practices
When your agent uses it
Next.js best practices - file conventions, RSC boundaries, data patterns, async APIs, metadata, error handling, route handlers, image/font optimization, bundling
What it loads into context
Frontmatter
81 tokensAlways available to the agent
SKILL.md
1,049 tokensWhen the skill is activated
Reference documents
19,850 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- File Conventions
- RSC Boundaries
- Async Patterns
- Runtime Selection
- Directives
- Functions
- Error Handling
- Data Patterns
- Route Handlers
- Metadata & OG Images
- Image Optimization
- Font Optimization
- Bundling
- Scripts
- Hydration Errors
- Suspense Boundaries
- Parallel & Intercepting Routes
- Self-Hosting
- Debug Tricks
Files
SKILL.mdcore4,133 bytesasync-patterns.mddoc1,664 bytesbundling.mddoc4,908 bytesdata-patterns.mddoc6,883 bytesdebug-tricks.mddoc3,013 bytesdirectives.mddoc1,635 byteserror-handling.mddoc4,872 bytesfile-conventions.mddoc3,871 bytesfont.mddoc5,197 bytesfunctions.mddoc6,001 byteshydration-error.mddoc1,801 bytesimage.mddoc3,882 bytesmetadata.mddoc7,662 bytesparallel-routes.mddoc7,439 bytesroute-handlers.mddoc3,436 bytesrsc-boundaries.mddoc4,667 bytesruntime-selection.mddoc986 bytesscripts.mddoc3,654 bytesself-hosting.mddoc8,788 bytessuspense-boundaries.mddoc1,471 bytes
Read SKILL.md
# Next.js Best Practices
Apply these rules when writing or reviewing Next.js code.
## File Conventions
See [file-conventions.md](./file-conventions.md) for:
- Project structure and special files
- Route segments (dynamic, catch-all, groups)
- Parallel and intercepting routes
- Middleware rename in v16 (middleware → proxy)
## RSC BoundariesView the complete source on GitHubnuxt
When your agent uses it
Nuxt full-stack Vue framework with SSR, auto-imports, and file-based routing. Use when working with Nuxt apps, server routes, useFetch, middleware, or hybrid rendering.
What it loads into context
Frontmatter
121 tokensAlways available to the agent
SKILL.md
860 tokensWhen the skill is activated
Reference documents
26,039 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Core
- Features
- Rendering
- Best Practices
- Advanced
- Credits
Files
GENERATION.mddoc134 bytesSKILL.mdcore3,766 bytesreferences/advanced-hooks.mddoc6,121 bytesreferences/advanced-layers.mddoc5,224 bytesreferences/advanced-module-authoring.mddoc11,952 bytesreferences/best-practices-data-fetching.mddoc7,776 bytesreferences/best-practices-ssr.mddoc6,715 bytesreferences/core-cli.mddoc4,588 bytesreferences/core-config.mddoc3,169 bytesreferences/core-data-fetching.mddoc5,143 bytesreferences/core-deployment.mddoc4,859 bytesreferences/core-directory-structure.mddoc6,622 bytesreferences/core-modules.mddoc5,394 bytesreferences/core-routing.mddoc3,840 bytesreferences/features-components-autoimport.mddoc5,491 bytesreferences/features-components.mddoc4,658 bytesreferences/features-composables.mddoc5,392 bytesreferences/features-server.mddoc5,260 bytesreferences/features-state.mddoc3,725 bytesreferences/rendering-modes.mddoc4,484 bytes
Read SKILL.md
Nuxt is a full-stack Vue framework that provides server-side rendering, file-based routing, auto-imports, and a powerful module system. It uses Nitro as its server engine for universal deployment across Node.js, serverless, and edge platforms.
> The skill is based on Nuxt 3.x, generated at 2026-01-28.
## Core
| Topic | Description | Reference |
|-------|-------------|-----------|
| Directory Structure | Project folder structure, conventions, file organization | [core-directory-structure](references/core-directory-structure.md) |
| Configuration | nuxt.config.ts, app.config.ts, runtime config, environment variables | [core-config](references/core-config.md) |
| CLI Commands | Dev server, build, generate, preview, and utility commands | [core-cli](references/core-cli.md) |
| Routing | File-based routing, dynamic routes, navigation, middleware, layouts | [core-routing](references/core-routing.md) |
| Data Fetching | useFetch, useAsyncData, $fetch, caching, refresh | [core-data-fetching](references/core-data-fetching.md) |
| Modules | Creating and using Nuxt modules, Nuxt Kit utilities | [core-modules](references/core-modules.md) |View the complete source on GitHubpnpm
When your agent uses it
Node.js package manager with strict dependency resolution. Use when running pnpm specific commands, configuring workspaces, or managing dependencies with catalogs, patches, or overrides.
What it loads into context
Frontmatter
89 tokensAlways available to the agent
SKILL.md
704 tokensWhen the skill is activated
Reference documents
14,267 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Core
- Features
- Best practices
Files
GENERATION.mddoc134 bytesSKILL.mdcore3,872 bytesreferences/best-practices-ci.mddoc5,360 bytesreferences/best-practices-migration.mddoc5,087 bytesreferences/best-practices-performance.mddoc4,797 bytesreferences/core-cli.mddoc3,618 bytesreferences/core-config.mddoc3,943 bytesreferences/core-store.mddoc3,951 bytesreferences/core-workspaces.mddoc4,244 bytesreferences/features-aliases.mddoc2,986 bytesreferences/features-catalogs.mddoc3,288 bytesreferences/features-hooks.mddoc4,576 bytesreferences/features-overrides.mddoc3,578 bytesreferences/features-patches.mddoc3,844 bytesreferences/features-peer-deps.mddoc4,349 bytes
Read SKILL.md
pnpm is a fast, disk space efficient package manager. It uses a content-addressable store to deduplicate packages across all projects on a machine, saving significant disk space. pnpm enforces strict dependency resolution by default, preventing phantom dependencies. Configuration should preferably be placed in `pnpm-workspace.yaml` for pnpm-specific settings.
**Important:** When working with pnpm projects, agents should check for `pnpm-workspace.yaml` and `.npmrc` files to understand workspace structure and configuration. Always use `--frozen-lockfile` in CI environments.
> The skill is based on pnpm 10.x, generated at 2026-01-28.
## Core
| Topic | Description | Reference |
| ------------- | ------------------------------------------------------------------------ | ------------------------------------------------ |
| CLI Commands | Install, add, remove, update, run, exec, dlx, and workspace commands | [core-cli](references/core-cli.md) |
| Configuration | pnpm-workspace.yaml, .npmrc settings, and package.json fields | [core-config](references/core-config.md) |
| Workspaces | Monorepo support with filtering, workspace protocol, and shared lockfile | [core-workspaces](references/core-workspaces.md) |
| Store | Content-addressable storage, hard links, and disk efficiency | [core-store](references/core-store.md) |View the complete source on GitHubpoint-latest-at-rc
When your agent uses it
Point npm `latest` at the current `@rc` versions using local interactive npm auth (no GitHub `NPM_TOKEN`). Use when promoting RC to latest after publish, when CI promote_rc_to_latest 403s, when package Publishing access disallows tokens, or when the user asks to retag latest / run point-latest-at-rc without a CI token.
What it loads into context
Frontmatter
123 tokensAlways available to the agent
SKILL.md
926 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Preconditions
- Steps
- Verify
- Smoke (after retag)
- Failures
- Related
Scripts executed separately
../../scripts/point-latest-at-rc.js
Files
../../scripts/point-latest-at-rc.jsruns17,845 bytesSKILL.mdcore3,129 bytesSKILL.mdcore3,129 bytesSKILL.mdcore3,129 bytes
Read SKILL.md
# Point npm `latest` at `@rc` (local / no CI token)
Maintainer **break-glass** alternative to the release workflow’s
`NPM_TOKEN` path. The root script `pnpm point-latest-at-rc` runs
`scripts/point-latest-at-rc.js --from-rc --local` so `npm dist-tag` uses
your logged-in session. Write commands inherit stdin/stdout so npm can
prompt for OTP when 2FA is on auth-and-writes (run from a real TTY).
**Prefer a single OTP for the whole run** via `--otp <code>` or
`NPM_CONFIG_OTP` — otherwise npm prompts once per package (~12 times).
Trusted Publishing still covers **publish**; this skill only covers
**dist-tag**.
Do **not** remove or disable the CI promote job. Prefer CI
`promote_rc_to_latest` when `secrets.NPM_TOKEN` works; use this only whenView the complete source on GitHubrename-skill
When your agent uses it
Rename an existing agent skill (internal or external), updating its directory name, frontmatter name, and codebase-wide references. Use when the user requests to rename a skill, change a skill's identifier, or restructure a skill's folder.
What it loads into context
Frontmatter
62 tokensAlways available to the agent
SKILL.md
645 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Workflow
Files
SKILL.mdcore2,773 bytesSKILL.mdcore2,773 bytesSKILL.mdcore2,773 bytes
Read SKILL.md
# Rename Skill
This skill guides you through safely and comprehensively renaming an existing skill (either internal or external) in the workspace.
## Workflow
### 1. Gather Information
- Identify the skill to rename (e.g., `old-name`).
- Determine the target name (e.g., `new-name`).
- Locate the skill directory. Typically, it will be under:
- `skills/old-name` (internal skills)
- `.agents/skills/old-name` (external/cache skills)
### 2. Rename the DirectoryView the complete source on GitHubsetup-matt-pocock-skills
When your agent uses it
Sets up an `## Agent skills` block in AGENTS.md/CLAUDE.md and `.agent/docs/` so the engineering skills know this repo's issue tracker (GitHub or local markdown), triage label vocabulary, and domain doc layout. Run before first use of `to-issues`, `to-prd`, `triage`, `diagnose`, `tdd`, `improve-codebase-architecture`, or `zoom-out` - or if those skills appear to be missing context about the issue tracker, triage labels, or domain docs.
What it loads into context
Frontmatter
141 tokensAlways available to the agent
SKILL.md
1,740 tokensWhen the skill is activated
Reference documents
1,387 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Process
Files
SKILL.mdcore7,034 bytesdomain.mddoc2,010 bytesissue-tracker-github.mddoc224 bytesissue-tracker-gitlab.mddoc1,461 bytesissue-tracker-local.mddoc838 bytestriage-labels.mddoc1,361 bytes
Read SKILL.md
# Setup matt pocock's skills
Scaffold the per-repo configuration that the engineering skills assume:
- **Issue tracker** - where issues live (GitHub by default; local markdown is also supported out of the box)
- **Triage labels** - the strings used for the six canonical triage roles
- **Domain docs** - where `docs/CONTEXT.md` and ADRs live, and the consumer rules for reading them
This is a prompt-driven skill, not a deterministic script. Explore, present what you found, confirm with the user, then write.
## Process
### 1. Explore
View the complete source on GitHubsync-main
When your agent uses it
Update the v0 docs archive on main (arkenv-v0.vercel.app) immediately without waiting for a new npm release. Use this skill whenever the user mentions 'hotfix docs', 'push doc changes live now', 'promote docs to main', 'bypass package release for docs', 'sync-main', 'sync main', or wants to rescue already-merged doc commits from dev. It handles cherry-picking to main and merging main back into dev to prevent git drift. Note: Production / arkenv.js.org tracks v1 — sync-main does not flip apex.
What it loads into context
Frontmatter
131 tokensAlways available to the agent
SKILL.md
1,324 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Analysis Step (Do This First)
- Easy Case Workflows
- Hard Case Workflow
Scripts executed separately
../../scripts/sync-main.sh
Files
../../scripts/sync-main.shruns2,237 bytesSKILL.mdcore5,415 bytesSKILL.mdcore5,415 bytesSKILL.mdcore5,415 bytesSKILL.mdcore5,415 bytesSKILL.mdcore5,415 bytesSKILL.mdcore5,415 bytes
Read SKILL.md
# Sync Main
This skill enables you to safely sync documentation and tooling changes from the `dev` branch to `main` without waiting for the next package release, while ensuring that the `dev` and `main` branches remain in a clean, compatible topological state (preventing future merge conflicts).
After the RC docs cutover (Option A), a push to `main` refreshes the **v0 archive** at `https://arkenv-v0.vercel.app`. It does **not** deploy Production / `arkenv.js.org` (that tracks `v1`). Use this skill for urgent **legacy v0** doc fixes, not for the live v1 site.
---
## Analysis Step (Do This First)
Before performing any Git actions, you must analyze the changes between `dev` and `main` to classify the sync:
Run the following command to check the list of changed files:
```bash
git fetch originView the complete source on GitHubtackle-issue
When your agent uses it
Automates the process of working on GitHub issues, including branch creation, issue linking, label management, validation, changesets, and PR creation. Triggered by the command "/tackle-issue ISSUE_NUMBER".
What it loads into context
Frontmatter
57 tokensAlways available to the agent
SKILL.md
1,048 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Trigger
- Workflow
- Best practices
Files
SKILL.mdcore4,415 bytesSKILL.mdcore4,415 bytesSKILL.mdcore4,415 bytesSKILL.mdcore4,415 bytesSKILL.mdcore4,415 bytesSKILL.mdcore4,415 bytesSKILL.mdcore4,415 bytesSKILL.mdcore4,415 bytes
Read SKILL.md
# Tackle issue
This skill provides a standardized, rigorous workflow for handling GitHub issues. It ensures that issues are properly vetted before work begins and that all changes meet the project's quality standards before a Pull Request is opened.
## Trigger
Use this skill whenever the user says `/tackle-issue <number>` or asks to "tackle", "handle", or "fix" a specific issue number in a structured way.
## Workflow
### 1. Readiness check & context gathering
Before starting any work, you MUST verify that the issue is ready for an agent.
View the complete source on GitHubtdd
When your agent uses it
Test-driven development with red-green-refactor loop. Use when user wants to build features or fix bugs using TDD, mentions "red-green-refactor", wants integration tests, or asks for test-first development.
What it loads into context
Frontmatter
55 tokensAlways available to the agent
SKILL.md
974 tokensWhen the skill is activated
Reference documents
1,128 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Philosophy
- Anti-pattern: horizontal slices
- Workflow
- Checklist per cycle
Files
SKILL.mdcore4,438 bytesdeep-modules.mddoc1,247 bytesinterface-design.mddoc653 bytesmocking.mddoc1,482 bytesrefactoring.mddoc387 bytestests.mddoc1,640 bytes
Read SKILL.md
# Test-driven development
## Philosophy
**Core principle**: Tests should verify behavior through public interfaces, not implementation details. Code can change entirely; tests shouldn't.
**Good tests** are integration-style: they exercise real code paths through public APIs. They describe *what* the system does, not *how* it does it. A good test reads like a specification - "user can checkout with valid cart" tells you exactly what capability exists. These tests survive refactors because they don't care about internal structure.
**Bad tests** are coupled to implementation. They mock internal collaborators, test private methods, or verify through external means (like querying a database directly instead of using the interface). The warning sign: your test breaks when you refactor, but behavior hasn't changed. If you rename an internal function and tests fail, those tests were testing implementation, not behavior.
See [tests.md](tests.md) for examples and [mocking.md](mocking.md) for mocking guidelines.
## Anti-pattern: horizontal slices
View the complete source on GitHubthe-hat
When your agent uses it
Compare design alternatives with a hat → metrics → tier-list loop, splitting composing layers and keeping a living note. Use when there are multiple ways to solve a design problem, the user says "throw it in the hat" or "/the-hat", asks for a tier list, design eval, or composing layers/dimensions, or when options look like they compose rather than compete — even if they have not named this skill.
What it loads into context
Frontmatter
100 tokensAlways available to the agent
SKILL.md
910 tokensWhen the skill is activated
Reference documents
2,585 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Loop
- Living note
- Layers vs a false choice
- Rules
Files
../../docs/adr/0025-to-json-schema-escape-hatch.mddoc7,927 bytesNOTE-TEMPLATE.mddoc1,829 bytesSKILL.mdcore3,745 bytes
Read SKILL.md
# The hat
When several ways exist to solve a design problem, do not vibe-rank in chat. Run this loop and leave the artifacts in a **living note** (repo file, not a premature ADR).
Worked example of a hat loop later promoted to an ADR: [#1564](https://github.com/yamcodes/arkenv/issues/1564) / [#1570](https://github.com/yamcodes/arkenv/pull/1570) became [ADR 0025](../../docs/adr/0025-to-json-schema-escape-hatch.md). Copy headings from [NOTE-TEMPLATE.md](NOTE-TEMPLATE.md).
If the problem itself is still mushy, grill first (`grill-me` / `grill-with-docs`), then come back here to score options.
## Loop
1. **Name the problem** — what must be true when we are done, not the first idea that showed up.
2. **Split composing layers** if “solutions” are not the same kind of thing. Layers are **dimensions that compose**, not rivals in one list (how you type a callback vs where the wrapper lives). Do not flatten them into one false choice.
3. **Put every option in the hat**, including already-rejected and out-of-scope ones, so they get scored instead of silently returning.
4. **Pick metrics** that match the pain. Invent what fits (honesty, tax fairness, simplicity, DRY, composability, vendor neutrality, footguns, elegance, teachability, maintenance hell).View the complete source on GitHubthe-voice
When your agent uses it
Rewrite ArkEnv docs and site copy in the product voice: Turbo-shaped what/why/how, not skinny command lists and not marketing hype, then cut chatbot tells without sanding off that voice. Use when the user says "fix the voice", "/the-voice", "too skinny", "too terse", "needs meat", "match turborepo", "sounds like AI", "humanize", "AI tells", "de-AI", "stop slop", or when writing, reviewing, or editing docs/MDX/homepage copy — even if they did not name this skill. This skill is the whole pass. Do not reach for a separate humanizer or stop-slop skill. Prefer this over docs-writer for register; keep docs-writer for links and wrapping. Use fumadocs `<Callout>` for forks and defaults.
What it loads into context
Frontmatter
214 tokensAlways available to the agent
SKILL.md
1,296 tokensWhen the skill is activated
Reference documents
1,672 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- What "fix the voice" means
- House terms
- Install fences
- Not this voice
- Workflow
Files
SKILL.mdcore4,942 bytesreferences/canons.mddoc1,673 bytesreferences/examples.mddoc2,261 bytesreferences/humanize.mddoc2,833 bytes
Read SKILL.md
# The voice
ArkEnv docs sound like [turborepo.dev](https://turborepo.dev/docs) plus
the pages already in that register: getting-started, Introduction,
Installation, Community, and a framework guide (for example Vite).
`docs-writer` is Gemini CLI boilerplate for mechanics. This skill is the
register and the second pass. The second pass cuts chatbot tells after
the meat is in. It must not strip why.
Read [references/canons.md](references/canons.md) before rewriting a
page. Read [references/examples.md](references/examples.md) when the
task is a voice pass (the AI guide is the worked example). Read
[references/humanize.md](references/humanize.md) for the second pass.
Do not run `stop-slop` or an external humanizer.View the complete source on GitHubto-prd
When your agent uses it
Turn the current conversation context into a PRD and publish it to the project issue tracker. Use when user wants to create a PRD from the current context.
What it loads into context
Frontmatter
46 tokensAlways available to the agent
SKILL.md
688 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Process
- Problem statement
- Solution
- User stories
- Implementation decisions
- Testing decisions
- Out of scope
- Further notes
Files
SKILL.mdcore3,202 bytes
Read SKILL.md
This skill takes the current conversation context and codebase understanding and produces a PRD. Do NOT interview the user - just synthesize what you already know.
The issue tracker and triage label vocabulary should have been provided to you - run `/setup-matt-pocock-skills` if not.
## Process
1. Explore the repo to understand the current state of the codebase, if you haven't already. Use the project's domain glossary vocabulary throughout the PRD, and respect any ADRs in the area you're touching.
2. Sketch out the major modules you will need to build or modify to complete the implementation. Actively look for opportunities to extract deep modules that can be tested in isolation.
A deep module (as opposed to a shallow module) is one which encapsulates a lot of functionality in a simple, testable interface which rarely changes.
Check with the user that these modules match their expectations. Check with the user which modules they want tests written for.
View the complete source on GitHubtriage
When your agent uses it
Triage issues through a state machine driven by triage roles. Use when user wants to create an issue, triage issues, review incoming bugs or feature requests, prepare issues for an AFK agent, or manage issue workflow.
What it loads into context
Frontmatter
59 tokensAlways available to the agent
SKILL.md
1,556 tokensWhen the skill is activated
Reference documents
2,572 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Reference docs
- Roles
- Invocation
- Show what needs attention
- Triage a specific issue
- Quick state override
- Needs-info template
- Resuming a previous session
Files
AGENT-BRIEF.mddoc6,230 bytesOUT-OF-SCOPE.mddoc5,084 bytesSKILL.mdcore6,574 bytes
Read SKILL.md
# Triage
Move issues on the project issue tracker through a small state machine of triage roles.
Every comment or issue posted to the issue tracker during triage **must** start with this disclaimer:
```
> *This was generated by AI during triage.*
```
## Reference docs
- [AGENT-BRIEF.md](AGENT-BRIEF.md) - how to write durable agent briefs
- [OUT-OF-SCOPE.md](OUT-OF-SCOPE.md) - how rejected enhancements are recorded (**ArkEnv: use `docs/adr/`, not a root `.out-of-scope/` folder**)View the complete source on GitHubturborepo
When your agent uses it
Turborepo monorepo build system guidance. Triggers on: turbo.json, task pipelines, dependsOn, caching, remote cache, the "turbo" CLI, --filter, --affected, CI optimization, environment variables, internal packages, monorepo structure/best practices, and boundaries. Use when user: configures tasks/workflows/pipelines, creates packages, sets up monorepo, shares code between apps, runs changed/affected packages, debugs cache, or has apps/packages directories.
What it loads into context
Frontmatter
141 tokensAlways available to the agent
SKILL.md
6,787 tokensWhen the skill is activated
Reference documents
25,481 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- IMPORTANT: Package Tasks, Not Root Tasks
- Secondary Rule: `turbo run` vs `turbo`
- Quick Decision Trees
- Critical Anti-Patterns
- Common Task Configurations
- Reference Index
- Source Documentation
Files
SKILL.mdcore28,444 bytesSKILL.mdcore28,444 bytesSKILL.mdcore28,444 bytesSKILL.mdcore28,444 bytesSKILL.mdcore28,444 bytesSKILL.mdcore28,444 bytescommand/turborepo.mddoc2,785 bytesreferences/best-practices/RULE.mddoc4,907 bytesreferences/best-practices/dependencies.mddoc4,255 bytesreferences/best-practices/packages.mddoc6,289 bytesreferences/best-practices/structure.mddoc5,513 bytesreferences/boundaries/RULE.mddoc1,948 bytesreferences/caching/RULE.mddoc4,195 bytesreferences/caching/gotchas.mddoc3,933 bytesreferences/caching/remote-cache.mddoc2,538 bytesreferences/ci/RULE.mddoc2,189 bytesreferences/ci/github-actions.mddoc2,813 bytesreferences/ci/patterns.mddoc2,583 bytesreferences/ci/vercel.mddoc2,143 bytesreferences/cli/RULE.mddoc2,113 bytesreferences/cli/commands.mddoc5,569 bytesreferences/configuration/RULE.mddoc5,068 bytesreferences/configuration/global-options.mddoc7,154 bytesreferences/configuration/gotchas.mddoc9,316 bytesreferences/configuration/tasks.mddoc6,928 bytesreferences/environment/RULE.mddoc2,591 bytesreferences/environment/gotchas.mddoc4,119 bytesreferences/environment/modes.mddoc2,419 bytesreferences/filtering/RULE.mddoc4,160 bytesreferences/filtering/patterns.mddoc2,412 bytesreferences/watch/RULE.mddoc1,989 bytes
Read SKILL.md
# Turborepo Skill
Build system for JavaScript/TypeScript monorepos. Turborepo caches task outputs and runs tasks in parallel based on dependency graph.
## IMPORTANT: Package Tasks, Not Root Tasks
**Prefer package tasks over Root Tasks.**
When creating tasks/scripts/pipelines, you MUST default to package tasks:
1. Add the script to each relevant package's `package.json`
2. Register the task in root `turbo.json`
3. Root `package.json` only delegates via `turbo run <task>`
View the complete source on GitHubtypescript
When your agent uses it
This skill should be used when the user asks to "optimize TypeScript performance", "speed up tsc compilation", "configure tsconfig.json", "fix type errors", "improve async patterns", or encounters TS errors (TS2322, TS2339, "is not assignable to"). Also triggers on .ts, .tsx, .d.ts file work involving type definitions, module organization, or memory management. Does NOT cover TypeScript basics, framework-specific patterns, or testing.
What it loads into context
Frontmatter
113 tokensAlways available to the agent
SKILL.md
2,556 tokensWhen the skill is activated
Reference documents
25,021 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to apply
- Rule categories by priority
- Table of contents
- References
Files
AGENTS.mddoc203 bytesSKILL.mdcore10,084 bytesassets/templates/_template.mddoc612 bytesreferences/_sections.mddoc1,699 bytesreferences/advanced-branded-types.mddoc2,437 bytesreferences/advanced-satisfies-operator.mddoc2,724 bytesreferences/advanced-template-literal-types.mddoc2,651 bytesreferences/async-avoid-loop-await.mddoc2,148 bytesreferences/async-avoid-unnecessary-async.mddoc2,127 bytesreferences/async-defer-await.mddoc2,162 bytesreferences/async-explicit-return-types.mddoc2,198 bytesreferences/async-parallel-promises.mddoc2,105 bytesreferences/mem-avoid-closure-leaks.mddoc2,916 bytesreferences/mem-avoid-global-state.mddoc2,440 bytesreferences/mem-cleanup-event-listeners.mddoc2,923 bytesreferences/mem-clear-timers.mddoc2,582 bytesreferences/mem-use-weakmap-for-metadata.mddoc2,245 bytesreferences/module-avoid-barrel-imports.mddoc1,785 bytesreferences/module-avoid-circular-dependencies.mddoc1,815 bytesreferences/module-avoid-index-in-imports.mddoc889 bytesreferences/module-control-types-inclusion.mddoc1,852 bytesreferences/module-dynamic-imports.mddoc2,167 bytesreferences/module-hide-internal-comments.mddoc2,155 bytesreferences/module-prefer-relative-imports.mddoc1,701 bytesreferences/module-use-type-imports.mddoc1,986 bytesreferences/runtime-avoid-object-spread-in-loops.mddoc2,197 bytesreferences/runtime-cache-property-access.mddoc2,059 bytesreferences/runtime-prefer-array-methods.mddoc2,400 bytesreferences/runtime-use-for-of-for-iteration.mddoc2,092 bytesreferences/runtime-use-set-for-lookups.mddoc1,859 bytesreferences/runtime-use-string-methods.mddoc2,255 bytesreferences/safety-assertion-functions.mddoc2,520 bytesreferences/safety-const-assertions.mddoc2,285 bytesreferences/safety-exhaustive-checks.mddoc2,456 bytesreferences/safety-no-unchecked-indexed-access.mddoc2,533 bytesreferences/safety-prefer-unknown-over-any.mddoc1,999 bytesreferences/safety-strict-null-checks.mddoc1,985 bytesreferences/safety-use-type-guards.mddoc2,156 bytesreferences/tscfg-enable-incremental.mddoc1,426 bytesreferences/tscfg-erasable-syntax-only.mddoc2,393 bytesreferences/tscfg-exclude-properly.mddoc1,805 bytesreferences/tscfg-isolate-modules.mddoc2,004 bytesreferences/tscfg-isolated-declarations.mddoc2,075 bytesreferences/tscfg-project-references.mddoc2,156 bytesreferences/tscfg-skip-lib-check.mddoc1,497 bytesreferences/tscfg-strict-function-types.mddoc1,817 bytesreferences/type-avoid-deep-generics.mddoc1,828 bytesreferences/type-avoid-large-unions.mddoc2,062 bytesreferences/type-explicit-return-types.mddoc2,064 bytesreferences/type-extract-conditional-types.mddoc1,620 bytesreferences/type-interfaces-over-intersections.mddoc1,378 bytesreferences/type-limit-recursion-depth.mddoc1,791 bytesreferences/type-simplify-mapped-types.mddoc1,812 bytes
Read SKILL.md
# TypeScript best practices
Comprehensive performance optimization guide for TypeScript applications. Contains 45 rules across 8 categories, prioritized by impact to guide automated refactoring and code generation.
## When to apply
Reference these guidelines when:
- Configuring tsconfig.json for a new or existing project
- Writing complex type definitions or generics
- Optimizing async/await patterns and data fetching
- Organizing modules and managing imports
- Reviewing code for compilation or runtime performance
View the complete source on GitHubwrite-a-skill
When your agent uses it
Create new agent skills with proper structure, progressive disclosure, and bundled resources. Use when user wants to create, write, or build a new skill.
What it loads into context
Frontmatter
45 tokensAlways available to the agent
SKILL.md
672 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Process
- Skill structure
- SKILL.md template
- Description requirements
- When to add scripts
- When to split files
- Review checklist
Files
SKILL.mdcore3,084 bytes
Read SKILL.md
# Writing skills
## Process
1. **Gather requirements** - ask user about:
- What task/domain does the skill cover?
- What specific use cases should it handle?
- Does it need executable scripts or just instructions?
- Any reference materials to include?
2. **Draft the skill** - create:
- SKILL.md with concise instructions
- Additional reference files if content exceeds 500 lines
- Utility scripts if deterministic operations neededView the complete source on GitHubwrite-issue
When your agent uses it
Write a new issue from scratch by grilling the user to clarify requirements, creating the issue on GitHub via the gh cli, and utilizing the triage skill to apply the correct label and add an agent brief if necessary. Use when the user wants to write, create, draft, open, or file a new issue on GitHub.
What it loads into context
Frontmatter
81 tokensAlways available to the agent
SKILL.md
907 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Trigger
- Workflow
Files
SKILL.mdcore4,038 bytesSKILL.mdcore4,038 bytesSKILL.mdcore4,038 bytesSKILL.mdcore4,038 bytes
Read SKILL.md
# Write issue
This skill takes a user request to create a new issue, conducts an interactive grilling session with the user to clarify requirements, creates the issue on GitHub using the GitHub CLI (`gh`), and utilizes the existing `/triage` skill workflow to apply the correct canonical labels and post an authoritative agent brief.
## Trigger
Use this skill whenever the user says `/write-issue` or `/create-issue` or asks to "write", "create", "draft", "open", or "file" a new issue on GitHub.
## Workflow
### 1. Context gathering & initial assessment
Before asking any questions, you MUST examine the codebase to understand the domain and potential files/implementations relevant to the user's intent.
View the complete source on GitHubzoom-out
When your agent uses it
Tell the agent to zoom out and give broader context or a higher-level perspective. Use when you're unfamiliar with a section of code or need to understand how it fits into the bigger picture.
What it loads into context
Frontmatter
58 tokensAlways available to the agent
SKILL.md
96 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore457 bytes
Read SKILL.md
I don't know this area of code well. Go up a layer of abstraction. Give me a map of all the relevant modules and callers, using the project's domain glossary vocabulary.View the complete source on GitHubSkills included
- arkenv
- arkenv
- bulletproof-react
- changeset
- code-review
- create-skill
- diagnose
- docs-writer
- excalidraw
- forward-port
- gh-cli
- grill-me
- grill-with-docs
- groom-issue
- hallmark
- hexagonal-architecture
- improve-codebase-architecture
- internalize-skill
- jsdoc
- modularize
- next-best-practices
- nuxt
- pnpm
- point-latest-at-rc
- rename-skill
- setup-matt-pocock-skills
- sync-main
- tackle-issue
- tdd
- the-hat
- the-voice
- to-prd
- triage
- turborepo
- typescript
- write-a-skill
- write-issue
- zoom-out
Repository facts
- License
- MIT
- Created
- Jan 25, 2025
- Last pushed
- Nov 6, 2026
- Forks
- 6
- Open issues
- 6
- Project activity
- Active
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 5, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 62 notes
skills/arkenv/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/arkenv/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/changeset/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/changeset/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/changeset/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/code-review/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/code-review/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/code-review/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/code-review/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/create-skill/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/create-skill/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/create-skill/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/create-skill/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/create-skill/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/diagnose/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/excalidraw/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/excalidraw/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/excalidraw/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/excalidraw/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/excalidraw/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- 15 dangerous shell commandsin 7 files: pnpm/references/best-practices-migration.md:16 scripts/point-latest-at-rc.js:310 pnpm/references/best-practices-performance.md:227 and 4 more
- 739 network referencesin 159 files: hallmark/references/assets.md:15 next-best-practices/functions.md:5 docs/CONTRIBUTING.md:22 and 156 more
- No hidden or obfuscated text
- No instruction overrides
- 17 executable scriptsin 17 files: scripts/point-latest-at-rc.js:1 scripts/sync-main.sh:1 create-skill/eval-viewer/generate_review.py:1 and 14 more
- 57 references to secretsin 17 files: turborepo/SKILL.md:157 turborepo/references/environment/gotchas.md:5 scripts/point-latest-at-rc.js:14 and 14 more
- No requests to vote in Hot
Show all 828 signals by file
.claude-plugin/marketplace.json
docs/CONTRIBUTING.md
- Network accessline 22
[Nub](https://nubjs.com/) is the package manager and toolchain for this - Dangerous shell operationline 41
curl -fsSL https://nubjs.com/install.sh | bash - Network accessline 41
curl -fsSL https://nubjs.com/install.sh | bash - Network accessline 44
(Or `npm install -g @nubjs/nub`. See the [Nub docs](https://nubjs.com/docs). - Network accessline 50
git clone https://github.com/yamcodes/arkenv.git - Network accessline 66
This starts a single `next dev` server at [http://localhost:3000](http://localhost:3000). - Network accessline 67
[http://localhost:3000](http://localhost:3000). - Network accessline 130
> **RC docs cutover (Option A):** Production / `arkenv.js.org` tracks > **`v1`** (`vercel --prod`). Pushes to **`main`** refresh the legacy > archive at `https://arkenv-v0.vercel.app` and must **not** take - Network accessline 131
> **`v1`** (`vercel --prod`). Pushes to **`main`** refresh the legacy > archive at `https://arkenv-v0.vercel.app` and must **not** take > Production. `https://arkenv-dev.vercel.app` and - Network accessline 132
> archive at `https://arkenv-v0.vercel.app` and must **not** take - Network accessline 133
> Production. `https://arkenv-dev.vercel.app` and - Network accessline 134
> `https://arkenv-v1.vercel.app` stay as stable aliases. At GA (Option B, - Network accessline 155
3. Merge the "Version Packages" PR into `dev`. 4. A GitHub workflow will automatically build and publish the packages to npm. 5. Immediately after a successful publish, the workflow automatically fast-forwards the `main` branch to match `de - Network accessline 157
5. Immediately after a successful publish, the workflow automatically fast-forwards the `main` branch to match `dev`. This push to `main` refreshes the **v0 docs archive** (`https://arkenv-v0.vercel.app`), not Production. Production / `arke - Network accessline 209
| Branch / action | Target | | ------------------------------ | ----------------------------------------------------------------------------------- - Network accessline 210
| ------------------------------ | ----------------------------------------------------------------------------------- | | Push to **`v1`** | Production (`arkenv.js.org`) via `--prod`, and alias `https://arkenv-v1.vercel.app` - Network accessline 211
| Push to **`v1`** | Production (`arkenv.js.org`) via `--prod`, and alias `https://arkenv-v1.vercel.app` | - Network accessline 212
| Push to **`main`** | Archive alias `https://arkenv-v0.vercel.app` (preview deploy, **not** `--prod`) | - Network accessline 213
| Push to **`dev`** (if present) | Alias `https://arkenv-dev.vercel.app` | - Network accessline 227
[Changesets](https://github.com/changesets/changesets) is used to manage versions and changelogs. Each PR that makes changes to the functionality of the package should include a changeset. - Network accessline 241
We use the [All Contributors](https://allcontributors.org/) specification to recognize all contributions. - Network accessline 251
For a full list of contribution types and more details on how to use the bot, please refer to the [bot usage documentation](https://allcontributors.org/bot/usage).
docs/adr/0025-to-json-schema-escape-hatch.md
- Network accessline 5
Amended (2026-08-24 by [#1586](https://github.com/yamcodes/arkenv/issues/1586); 2026-08-28 by [#1609](https://github.com/yamcodes/arkenv/issues/1609)) - Network accessline 15
Three layers compose (hat loop for [#1564](https://github.com/yamcodes/arkenv/issues/1564) / [#1570](https://github.com/yamcodes/arkenv/pull/1570)): - Network accessline 77
- `import { arkenv } from "@arkenv/standard/valibot"`: Pre-configures coercion using `@valibot/to-json-schema` (`typeMode: "input"`, `target: "draft-07"`). - `import { arkenv } from "@arkenv/standard/zod-mini"`: Pre-configures coercion u - Network accessline 78
- `import { arkenv } from "@arkenv/standard/zod-mini"`: Pre-configures coercion using `zod/mini`'s `toJSONSchema` helper (`io: "input"`, `target: "draft-07"`). - *Note on Zod*: Classic Zod already exposes JSON Schema on the value (ADR 00 - Network accessline 79
- *Note on Zod*: Classic Zod already exposes JSON Schema on the value (ADR 0002), so root `import { arkenv } from "@arkenv/standard"` works zero-config out of the box. A redundant `@arkenv/standard/zod` alias is **rejected** ([ADR 0029](./0 - Network accessline 93
- **Zero Runtime Bloat:** Root `@arkenv/standard` remains 100% dependency-free. - **Pristine Package Footprint:** No legacy shim files in package roots; build outputs remain contained within `dist/`. - **Docs & CLI Alignment:** `arkenv init - Network accessline 95
- **Docs & CLI Alignment:** `arkenv init` will scaffold `@arkenv/standard/valibot` for Valibot ([#1607](https://github.com/yamcodes/arkenv/issues/1607)) and `@arkenv/standard` for Zod directly.
packages/agent-plugin/.claude-plugin/plugin.json
scripts/point-latest-at-rc.js
- Executable scriptline 1
Executable file - Access to secretsline 14
[Credential-related source omitted] - Access to secretsline 228
[Credential-related source omitted] - Network accessline 256
write( npmrcPath, `//registry.npmjs.org/:_authToken=${token}\nregistry=https://registry.npmjs.org/\n`, - Network accessline 257
npmrcPath, `//registry.npmjs.org/:_authToken=${token}\nregistry=https://registry.npmjs.org/\n`, { mode: 0o600 }, - Network accessline 258
`//registry.npmjs.org/:_authToken=${token}\nregistry=https://registry.npmjs.org/\n`, - Dangerous shell operationline 310
exec(command, fullArgs, { stdio: "inherit" }); - Dangerous shell operationline 313
const out = exec(command, fullArgs, { - Access to secretsline 355
[Credential-related source omitted] - Access to secretsline 498
[Credential-related source omitted]
scripts/sync-main.sh
- Executable scriptline 1
#!/bin/bash
skills/bulletproof-react/SKILL.md
- Network accessline 13
Architecture patterns for building scalable, maintainable React applications. Based on [bulletproof-react](https://github.com/alan2207/bulletproof-react).
skills/bulletproof-react/references/README.md
- Network accessline 3
Detailed reference documentation for the bulletproof-react skill. Based on [bulletproof-react](https://github.com/alan2207/bulletproof-react) by Alan Alickovic (MIT License). - Network accessline 33
Content derived from the [bulletproof-react](https://github.com/alan2207/bulletproof-react/tree/master/docs) documentation (MIT License).
skills/bulletproof-react/references/components-and-styling.md
- Network accessline 87
- [Chakra UI](https://chakra-ui.com/) - great DX, fast prototyping, accessible out of the box - Network accessline 88
- [AntD](https://ant.design/) - extensive components, best for admin dashboards - Network accessline 89
- [MUI](https://mui.com/) - most popular, Material Design or headless - Network accessline 90
- [Mantine](https://mantine.dev/) - modern, customizable, many built-in hooks - Network accessline 96
- [Radix UI](https://www.radix-ui.com/) - Network accessline 97
- [Headless UI](https://headlessui.dev/) - Network accessline 98
- [React Aria](https://react-spectrum.adobe.com/react-aria/) - Network accessline 99
- [Ark UI](https://ark-ui.com/) - Network accessline 100
- [Reakit](https://reakit.io/) - Network accessline 106
- [ShadCN UI](https://ui.shadcn.com/) - Network accessline 107
- [Park UI](https://park-ui.com/) - Network accessline 111
- [Tailwind CSS](https://tailwindcss.com/) - utility-first, zero runtime - Network accessline 112
- [vanilla-extract](https://github.com/seek-oss/vanilla-extract) - type-safe, zero runtime - Network accessline 113
- [Panda CSS](https://panda-css.com/) - type-safe, zero runtime - Network accessline 114
- [CSS Modules](https://github.com/css-modules/css-modules) - scoped, zero runtime - Network accessline 115
- [styled-components](https://styled-components.com/) - runtime CSS-in-JS - Network accessline 116
- [emotion](https://emotion.sh/) - runtime CSS-in-JS - Network accessline 122
Use [Storybook](https://storybook.js.org/) for developing and testing components in isolation. It serves as a component catalogue for development and discoverability.
skills/bulletproof-react/references/error-handling.md
- Network accessline 57
Use tools like [Sentry](https://sentry.io/) to track production errors. Don't build custom solutions - purpose-built tools provide:
skills/bulletproof-react/references/performance.md
- Network accessline 74
For applications tracking many elements at once, consider atomic state libraries like [Jotai](https://jotai.pmnd.rs/) for granular updates. - Network accessline 116
- Use [use-context-selector](https://github.com/dai-shi/use-context-selector) for selector support - Network accessline 119
Before reaching for Context, consider [lifting state up](https://react.dev/learn/sharing-state-between-components#lifting-state-up-by-example) or [proper component composition](https://react.dev/learn/passing-data-deeply-with-context#before - Network accessline 139
Monitor [Core Web Vitals](https://web.dev/measure/) (LCP, INP, CLS) using Lighthouse and PageSpeed Insights.
skills/bulletproof-react/references/project-standards.md
- Network accessline 15
Resource: [React TypeScript Cheatsheet](https://react-typescript-cheatsheet.netlify.app/)
skills/bulletproof-react/references/security.md
- Network accessline 36
- TanStack Query (if already using it) - via [react-query-auth](https://github.com/alan2207/react-query-auth) - Network accessline 97
For a full list of client-side security risks, see [OWASP Top 10 Client-Side Security Risks](https://owasp.org/www-project-top-10-client-side-security-risks/).
skills/bulletproof-react/references/state-management.md
- Network accessline 31
- [Zustand](https://github.com/pmndrs/zustand) - minimal, hooks-based - Network accessline 32
- [Jotai](https://github.com/pmndrs/jotai) - atomic, great for frequent granular updates - Network accessline 33
- [Redux Toolkit](https://redux-toolkit.js.org/) - structured, excellent DevTools - Network accessline 34
- [XState](https://xstate.js.org/) - state machines for complex workflows - Network accessline 37
Use [use-context-selector](https://github.com/dai-shi/use-context-selector) if Context causes performance issues (most state libraries have selectors built in). - Network accessline 54
- [TanStack Query](https://tanstack.com/query) - REST + GraphQL - Network accessline 55
- [SWR](https://swr.vercel.app/) - REST + GraphQL - Network accessline 56
- [Apollo Client](https://www.apollographql.com/) - GraphQL - Network accessline 57
- [URQL](https://formidable.com/open-source/urql/) - GraphQL - Network accessline 58
- [RTK Query](https://redux-toolkit.js.org/rtk-query) - REST - Network accessline 69
Integrate with validation libraries like [Zod](https://github.com/colinhacks/zod) or [Yup](https://github.com/jquense/yup). - Network accessline 71
Forms can be [controlled or uncontrolled](https://react.dev/learn/sharing-state-between-components#controlled-and-uncontrolled-components) - choose based on need.
skills/changeset/SKILL.md
- Network accessline 256
- Merging the "Version Packages" PR on `dev` triggers the publication of bumped packages to npm - Upon successful publish, the release workflow programmatically fast-forwards the `main` branch to `dev` (`git merge dev --ff-only`) and pushes - Network accessline 256
- Merging the "Version Packages" PR on `dev` triggers the publication of bumped packages to npm - Upon successful publish, the release workflow programmatically fast-forwards the `main` branch to `dev` (`git merge dev --ff-only`) and pushes - Network accessline 257
- Upon successful publish, the release workflow programmatically fast-forwards the `main` branch to `dev` (`git merge dev --ff-only`) and pushes it - The push to `main` refreshes the **v0 docs archive** (`https://arkenv-v0.vercel.app`), not - Network accessline 257
- Upon successful publish, the release workflow programmatically fast-forwards the `main` branch to `dev` (`git merge dev --ff-only`) and pushes it - The push to `main` refreshes the **v0 docs archive** (`https://arkenv-v0.vercel.app`), not - Network accessline 258
- The push to `main` refreshes the **v0 docs archive** (`https://arkenv-v0.vercel.app`), not Production - Network accessline 258
- The push to `main` refreshes the **v0 docs archive** (`https://arkenv-v0.vercel.app`), not Production - Network accessline 307
- [config.json](file:///.changeset/config.json) - Changeset configuration - [CHANGELOG.md](file:///CHANGELOG.md) - Generated changelog - Changesets docs: [https://github.com/changesets/changesets](https://github.com/changesets/changesets) - Network accessline 307
- [config.json](file:///.changeset/config.json) - Changeset configuration - [CHANGELOG.md](file:///CHANGELOG.md) - Generated changelog - Changesets docs: [https://github.com/changesets/changesets](https://github.com/changesets/changesets) - Network accessline 309
- Changesets docs: [https://github.com/changesets/changesets](https://github.com/changesets/changesets) - Network accessline 309
- Changesets docs: [https://github.com/changesets/changesets](https://github.com/changesets/changesets) - Network accessline 318
This skill was originally created by [Ollie Shop](https://github.com/ollieshop) and sourced from [github.com/ollieshop/creating-changesets](https://github.com/ollieshop/creating-changesets). - Network accessline 318
This skill was originally created by [Ollie Shop](https://github.com/ollieshop) and sourced from [github.com/ollieshop/creating-changesets](https://github.com/ollieshop/creating-changesets).
skills/create-skill/LICENSE.txt
skills/create-skill/assets/eval-review.html
- Network accessline 5
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Eval Set Review - __SKILL_NAME_PLACEHOLDER__</title> <link rel="preconnect" href="https://fonts.googleapis.com"> - Network accessline 6
<title>Eval Set Review - __SKILL_NAME_PLACEHOLDER__</title> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> - Network accessline 7
<link rel="preconnect" href="https://fonts.googleapis.com"> - Network accessline 8
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> - Network accessline 9
<link href="https://fonts.googleapis.com/css2?family=Poppins:wght@500;600&family=Lora:wght@400;500&display=swap" rel="stylesheet">
skills/create-skill/eval-viewer/generate_review.py
skills/create-skill/eval-viewer/viewer.html
- Network accessline 5
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Eval Review</title> <link rel="preconnect" href="https://fonts.googleapis.com"> - Network accessline 6
<title>Eval Review</title> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> - Network accessline 7
<link rel="preconnect" href="https://fonts.googleapis.com"> - Network accessline 8
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> - Network accessline 9
<link href="https://fonts.googleapis.com/css2?family=Poppins:wght@500;600&family=Lora:wght@400;500&display=swap" rel="stylesheet"> - Network accessline 10
<script src="https://cdn.sheetjs.com/xlsx-0.20.3/package/dist/xlsx.full.min.js" integrity="sha384-EnyY0/GSHQGSxSgMwaIPzSESbqoOLSexfnSMN2AP+39Ckmn92stwABZynq1JyzdT" crossorigin="anonymous"></script> - Network accessline 664
if (!hasPrevious) { try { const resp = await fetch("/api/feedback"); - Network accessline 665
try { const resp = await fetch("/api/feedback"); const data = await resp.json(); - Network accessline 666
const resp = await fetch("/api/feedback"); - Network accessline 1012
fetch("/api/feedback", { - Network accessline 1042
} const payload = JSON.stringify({ reviews, status: "complete" }, null, 2); fetch("/api/feedback", { - Network accessline 1043
const payload = JSON.stringify({ reviews, status: "complete" }, null, 2); fetch("/api/feedback", { method: "POST", - Network accessline 1044
fetch("/api/feedback", { - Dangerous shell operationline 1212
const evalName = evalRuns[0]?.eval_name ? evalRuns[0].eval_name : `Eval ${evalId}`;
skills/create-skill/scripts/__init__.py
- Executable scriptline 1
Executable file
skills/create-skill/scripts/aggregate_benchmark.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/create-skill/scripts/generate_report.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 37
<meta charset="utf-8"> """ + refresh_tag + """ <title>""" + title_prefix + """Skill Description Optimization</title> <link rel="preconnect" href="https://fonts.googleapis.com"> - Network accessline 38
""" + refresh_tag + """ <title>""" + title_prefix + """Skill Description Optimization</title> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> - Network accessline 39
<link rel="preconnect" href="https://fonts.googleapis.com"> - Network accessline 40
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> - Network accessline 41
<link href="https://fonts.googleapis.com/css2?family=Poppins:wght@500;600&family=Lora:wght@400;500&display=swap" rel="stylesheet">
skills/create-skill/scripts/improve_description.py
skills/create-skill/scripts/package_skill.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/create-skill/scripts/quick_validate.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/create-skill/scripts/run_eval.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/create-skill/scripts/run_loop.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/create-skill/scripts/utils.py
- Executable scriptline 1
Executable file
skills/diagnose/SKILL.md
skills/diagnose/scripts/hitl-loop.template.sh
skills/docs-writer/SKILL.md
- Network accessline 209
This skill was originally created for the [Gemini CLI](https://github.com/google-gemini/gemini-cli) - Network accessline 210
project and sourced from [github.com/google-gemini/gemini-cli](https://github.com/google-gemini/gemini-cli) (`.gemini/skills/docs-writer`). - Network accessline 211
[github.com/google-gemini/gemini-cli](https://github.com/google-gemini/gemini-cli)
skills/excalidraw/SKILL.md
- Network accessline 5
author: Yam Borodetsky original_author: github origin: https://github.com/github/awesome-copilot - Network accessline 6
original_author: github origin: https://github.com/github/awesome-copilot internal: true - Network accessline 7
origin: https://github.com/github/awesome-copilot - Network accessline 150
"type": "excalidraw", "version": 2, "source": "https://excalidraw.com", - Network accessline 151
"version": 2, "source": "https://excalidraw.com", "elements": [ - Network accessline 152
"source": "https://excalidraw.com", - Network accessline 166
1. Save as `<descriptive-name>.excalidraw` 2. Inform user how to open: - Visit https://excalidraw.com - Network accessline 167
2. Inform user how to open: - Visit https://excalidraw.com - Click "Open" or drag-and-drop the file - Network accessline 168
- Visit https://excalidraw.com - Network accessline 291
To view: 1. Visit https://excalidraw.com - Network accessline 292
1. Visit https://excalidraw.com - Network accessline 324
1. Visit https://libraries.excalidraw.com/ 2. Search for "[AWS Architecture Icons/etc.]" and download the .excalidrawlib file - Network accessline 345
**Step 2: Download Library** - Visit: https://libraries.excalidraw.com/ - Network accessline 346
- Visit: https://libraries.excalidraw.com/ - Search for your desired icon set (e.g., "AWS Architecture Icons") - Click download to get the `.excalidrawlib` file - Network accessline 575
- This workflow works with any valid `.excalidrawlib` file you provide. - Examples of library categories you may find on https://libraries.excalidraw.com/: - Network accessline 576
- Examples of library categories you may find on https://libraries.excalidraw.com/:
skills/excalidraw/references/excalidraw-schema.md
- Network accessline 9
type: "excalidraw"; version: number; // Always 2 source: string; // "https://excalidraw.com" - Network accessline 10
version: number; // Always 2 source: string; // "https://excalidraw.com" elements: ExcalidrawElement[]; - Network accessline 11
source: string; // "https://excalidraw.com" - Network accessline 306
"type": "excalidraw", "version": 2, "source": "https://excalidraw.com", - Network accessline 307
"version": 2, "source": "https://excalidraw.com", "elements": [ - Network accessline 308
"source": "https://excalidraw.com",
skills/excalidraw/scripts/.gitignore
- Executable scriptline 1
Executable file
skills/excalidraw/scripts/README.md
- Network accessline 27
2. **Download and place library file**: - Visit: https://libraries.excalidraw.com/ - Network accessline 28
- Visit: https://libraries.excalidraw.com/ - Search for "AWS Architecture Icons" and download the `.excalidrawlib` file - Rename it to match the directory name: `aws-architecture-icons.excalidrawlib` - Network accessline 70
1. Download desired Excalidraw libraries from https://libraries.excalidraw.com/ - Network accessline 77
- Examples found on https://libraries.excalidraw.com/ may include cloud/service icon sets.
skills/excalidraw/scripts/add-arrow.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/excalidraw/scripts/add-icon-to-diagram.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/excalidraw/scripts/split-excalidraw-library.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/excalidraw/templates/business-flow-swimlane-template.excalidraw
skills/excalidraw/templates/class-diagram-template.excalidraw
- Network accessline 2
"type": "excalidraw", "version": 2, "source": "https://marketplace.visualstudio.com/items?itemName=pomdtr.excalidraw-editor", - Network accessline 3
"version": 2, "source": "https://marketplace.visualstudio.com/items?itemName=pomdtr.excalidraw-editor", "elements": [ - Network accessline 4
"source": "https://marketplace.visualstudio.com/items?itemName=pomdtr.excalidraw-editor",
skills/excalidraw/templates/data-flow-diagram-template.excalidraw
skills/excalidraw/templates/er-diagram-template.excalidraw
skills/excalidraw/templates/flowchart-template.excalidraw
skills/excalidraw/templates/mindmap-template.excalidraw
- Network accessline 2
"type": "excalidraw", "version": 2, "source": "https://marketplace.visualstudio.com/items?itemName=pomdtr.excalidraw-editor", - Network accessline 3
"version": 2, "source": "https://marketplace.visualstudio.com/items?itemName=pomdtr.excalidraw-editor", "elements": [ - Network accessline 4
"source": "https://marketplace.visualstudio.com/items?itemName=pomdtr.excalidraw-editor",
skills/excalidraw/templates/relationship-template.excalidraw
skills/excalidraw/templates/sequence-diagram-template.excalidraw
skills/grill-with-docs/ADR-FORMAT.md
- Network accessline 52
This template and methodology are based on Michael Nygard's 2011 article [Documenting Architecture Decisions](https://cognitect.com/blog/2011/11/15/documenting-architecture-decisions). - Network accessline 52
This template and methodology are based on Michael Nygard's 2011 article [Documenting Architecture Decisions](https://cognitect.com/blog/2011/11/15/documenting-architecture-decisions).
skills/hallmark/SKILL.md
- Network accessline 28
| `hallmark audit <target>` | Read the target, score it against the anti-pattern list, return a ranked punch list. **Do not edit.** - Network accessline 30
| `hallmark study <screenshot \| URL>` | The user pasted or attached an image of a design they admire, **or** pasted a URL to a live page. Extract the **DNA** - macrostructure, archetypes, type-pairing, colour anchor - and produce a - Network accessline 502
If the user's input starts with `http://` or `https://` → **URL mode**. Otherwise → **image mode**. Same verb, same diagnosis output, different signal sources. The two modes share the schema and the diagnosis shape; they differ on what each - Network accessline 536
/* Hallmark · macrostructure: Marquee Hero · H1 hero knobs: size=xxl, alignment=left-bias * theme: Studio · accent: forest-green ~3% · studied: yes · DNA-source: url * source-url: https://example.com/ · observed-fonts: Inter Tight + Int - Network accessline 537
* theme: Studio · accent: forest-green ~3% · studied: yes · DNA-source: url * source-url: https://example.com/ · observed-fonts: Inter Tight + Inter * observed-accent: oklch(58% 0.16 35) · rhythm: unknown (URL mode) - Network accessline 538
* source-url: https://example.com/ · observed-fonts: Inter Tight + Inter
skills/hallmark/references/assets.md
- Network accessline 15
| 1 | **Hallmark imagery kit** ([`imagery-kit.md`](imagery-kit.md)) | Brief allows non-photographic imagery: SaaS landings, manifestos, agency / studio splash, type-led portfolio, editorial-led marketing. **Always preferred** wh - Network accessline 16
| 2 | **Hand-built SVG composition** (Tier B from custom-craft.md) | Editorial-typographic brief where "imagery" can be a stamp / wordmark / colour-blocked composition. Use when the kit doesn't carry the register. - Network accessline 17
| 3 | **Picsum** - `https://picsum.photos/seed/<seed>/<w>/<h>` | Generic photo slot, keyword anchoring not critical. Use a deterministic seed (brand-name + slot-name) so the same render produces the same image. - Network accessline 18
| 4 | **Unsplash Source** - `https://source.unsplash.com/<w>x<h>/?<keywords>` | Keyword-anchored photo slot - food, travel, portrait, real product. Pass 1–2 specific keywords, never zero. - Network accessline 47
| Library | URL | Count | Best for - Network accessline 48
| ----------------------------------------------- | ------------------- | ------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------- - Network accessline 49
| **[Lucide](https://lucide.dev)** | `lucide.dev` | 1,600+ | Modern SaaS / dev-tool default. The 2026 baseline. Active maintenance. - Network accessline 50
| **[Phosphor Icons](https://phosphoricons.com)** | `phosphoricons.com` | 9,000+ across 6 weights (thin / light / regular / bold / fill / duotone) | Tonal variants without mixing sets. The right pick when you need different *weights* of the - Network accessline 51
| **[Heroicons](https://heroicons.com)** | `heroicons.com` | ~300 | Tailwind / shadcn projects. Tightly curated, opinionated. - Network accessline 52
| **[Tabler Icons](https://tabler-icons.io)** | `tabler-icons.io` | 5,900+ on a 24×24 grid | Breadth - when neither Lucide nor Heroicons covers the symbol you need. - Network accessline 53
| **[Iconoir](https://iconoir.com)** | `iconoir.com` | ~1,500 | Hand-drawn character with a generous free tier. - Network accessline 77
// Tabler - vanilla HTML via CDN <svg width="20" height="20"><use href="https://cdn.jsdelivr.net/npm/@tabler/icons@latest/icons/arrow-right.svg" /></svg> - Network accessline 78
<svg width="20" height="20"><use href="https://cdn.jsdelivr.net/npm/@tabler/icons@latest/icons/arrow-right.svg" /></svg> - Network accessline 94
| Source | URL | Count | Best for - Network accessline 95
| ------------------------------------------- | ----------------- | --------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- - Network accessline 96
| **[Simple Icons](https://simpleicons.org)** | `simpleicons.org` | 3,400+ | The industry standard. Monochrome SVG + official hex per brand. MIT licensed. The default for logo walls. - Network accessline 97
| **[SVGL](https://svgl.app)** | `svgl.app` | 600+ | Curated, hand-picked, no spam. Higher quality bar than Simple Icons. - Network accessline 98
| **[theSVG](https://thesvg.org)** | `thesvg.org` | 4,000+ with dark/light/mono/wordmark variants | npm + MCP server for AI. Superset over Simple Icons if your stack supports it. - Network accessline 99
| **[Brandfetch](https://brandfetch.com)** | `brandfetch.com` | 22M+ brands | Paid API. Logo + colours + fonts + guardrails. Useful when building a CMS / form that asks "what's your domain?" and back-fi - Network accessline 112
<!-- Simple Icons via CDN - easiest --> <img src="https://cdn.simpleicons.org/github" alt="GitHub" height="32"> - Network accessline 113
<img src="https://cdn.simpleicons.org/github" alt="GitHub" height="32"> - Network accessline 114
<img src="https://cdn.simpleicons.org/figma/aaaaaa" alt="Figma" height="32"> <!-- monochrome override --> - Network accessline 121
<!-- SVGL via API --> <img src="https://api.svgl.app/?slug=vercel" alt="Vercel"> - Network accessline 122
<img src="https://api.svgl.app/?slug=vercel" alt="Vercel"> - Network accessline 140
| Model | URL | Cost | Best for - Network accessline 141
| --------------------------------------------------------------------------------------------------- | ------------------ | -------------- | -------------------------------------------------------------------------------------------------- - Network accessline 142
| **[Nanobanana 2 / Gemini 2.5 Flash Image](https://ai.google.dev/gemini-api/docs/image-generation)** | Google AI | $0.039 / image | Character consistency across panels, fast iteration, brand-style adherence via reference images, i - Network accessline 143
| **[Recraft V4](https://www.recraft.ai/)** | recraft.ai | ~$0.04 / image | **The only model with production-grade SVG output.** Logos, icons, illustrations that need to scal - Network accessline 144
| **[Midjourney v8](https://www.midjourney.com)** | midjourney.com | ~$0.14 / image | Aesthetic beauty, atmospheric stills, artistic direction - Network accessline 145
| **[Flux 2](https://blackforestlabs.ai/)** | blackforestlabs.ai | ~$0.03 / image | Photorealism - skin, fabric, product detail, hands - Network accessline 186
| Source | URL | Licence | Best for - Network accessline 187
| ------------------------------------------- | ---------------------------- | ----------------------------------- | --------------------------------------------------------------------------------------------------------------------------- - Network accessline 188
| **[Storyset](https://storyset.com)** | storyset.com (Freepik) | Free with attribution; paid removes | Animated SVG illustrations with toggleable element animation and on-site colour customisation. Onboarding flows, feature ex - Network accessline 189
| **[Humaaans](https://www.humaaans.com)** | humaaans.com (Pablo Stanley) | CC0 | Mix-and-match characters with diverse poses / outfits / skin tones. Hero sections that need humans without stock-photo terr - Network accessline 190
| **[unDraw](https://undraw.co)** | undraw.co | MIT | Open SVG illustrations with on-export colour swap. Still respected if customised - saturated and instantly recognisable if - Network accessline 191
| **[IRA Design](https://www.iradesign.io)** | iradesign.io (Creative Tim) | Free / paid | Moody, sophisticated, isometric scenes for B2B / enterprise. - Network accessline 192
| **[Open Peeps](https://www.openpeeps.com)** | openpeeps.com | CC0 | Hand-drawn character library, naive style. Sits between photography and illustration. - Network accessline 215
| Source | URL | Best for | | -------------------------------------------- | ---------------- | --------------------- - Network accessline 216
| -------------------------------------------- | ---------------- | -------------------------------------------------------------------------------- | | **[Browserframe](https://browserframe.com)** | browserframe.com | Browser + mobile devi - Network accessline 217
| **[Browserframe](https://browserframe.com)** | browserframe.com | Browser + mobile device frames with annotation. Built for SaaS demo screenshots. | - Network accessline 218
| **[Ray.so](https://ray.so)** | ray.so | Code snippets in macOS window frames. Perfect for developer-tool landing pages. | - Network accessline 219
| **[Cleanmock](https://cleanmock.com)** | cleanmock.com | Mobile device frames; minimalist; good for app-store-listing-style heroes. | - Network accessline 220
| **[Mockup.style](https://mockup.style)** | mockup.style | Versatile device + browser builder, Figma-friendly export. | - Network accessline 221
| **[Device Shots](https://deviceshots.com)** | deviceshots.com | Free device generator with multiple frame styles, fast turnaround. | - Network accessline 244
| Source | URL | Licence | Best for | | ----------------------------------------------- - Network accessline 245
| --------------------------------------------------- | ------------------ | --------------------------------------------------- | --------------------------------------------------------- | | **[Mixkit](https://mixkit.co)** - Network accessline 246
| **[Mixkit](https://mixkit.co)** | mixkit.co (Envato) | No registration, no attribution required, 1080p+ HD | The quality-to-effort sweet spot. | - Network accessline 247
| **[Coverr](https://coverr.co)** | coverr.co | Free commercial use | Optimised for hero-section backgrounds and ambient loops. | - Network accessline 248
| **[Pexels Videos](https://www.pexels.com/videos/)** | pexels.com/videos | CC0 | Largest free library; 4K available. Volume play. | - Network accessline 249
| **[Videvo](https://www.videvo.net)** | videvo.net | Tiered (free + pro) | Community footage + motion graphics. | - Network accessline 270
- **[ffmpeg](https://ffmpeg.org)** for control: - Network accessline 272
- AV1: `ffmpeg -i input.mp4 -c:v libaom-av1 -crf 30 -c:a aac output.mp4` - H.264: `ffmpeg -i input.mp4 -c:v libx264 -preset slow -crf 23 -c:a aac output.mp4` - **[HandBrake](https://handbrake.fr)** for GUI / batch: start with the "Vimeo Y - Network accessline 274
- **[HandBrake](https://handbrake.fr)** for GUI / batch: start with the "Vimeo YouTube HQ 1080p" preset, drop bitrate to 3–4 Mbps for web. - Network accessline 289
| Source | URL | Licence | Best for | | ------------------------------------------- | ------------- | ------ - Network accessline 290
| ------------------------------------------- | ------------- | ----------- | ----------------------------------------------------------------------------------------- | | **[Unsplash](https://unsplash.com)** | unsplash.com | CC0 - Network accessline 291
| **[Unsplash](https://unsplash.com)** | unsplash.com | CC0 | Largest free collection, moody / cinematic, weekly community uploads. The starting point. | - Network accessline 292
| **[Pexels](https://www.pexels.com)** | pexels.com | CC0 | 3.5M+ free photos, diverse photographers. | - Network accessline 293
| **[Nappy.co](https://www.nappy.co)** | nappy.co | Free + paid | Curated for diversity and representation. Premium visual direction. | - Network accessline 294
| **[Shotstash](https://www.shotstash.com)** | shotstash.com | Free | Lifestyle / minimal aesthetic. Smaller but carefully curated. | - Network accessline 295
| **[Open Peeps](https://www.openpeeps.com)** | openpeeps.com | CC0 | Illustrated character library when you want diversity without the photo-stock look. | - Network accessline 318
| -------------------------------------------------------------------------------------------- | -------------------- | -------------------------- | ------------------------------------------------------------------------------------------- - Network accessline 319
| **CSS gradients (native)** | n/a - write them | Zero bytes, GPU-composited | The default. Linear or radial; 2–3 colour stops max. - Network accessline 320
| **[Mesh Gradient Generator](https://www.learnui.design/tools/mesh-gradient-generator.html)** | learnui.design tools | Figma / SVG export | Apple-style mesh gradients; export carries organic noise. - Network accessline 321
| **[fffuel.co](https://www.fffuel.co/)** | fffuel.co | SVG | `gggrain` for grain noise; `ffflux` for fluid gradients; `uuunion` for wavy meshes. Composa - Network accessline 322
| **[CSS Gradient](https://cssgradient.io)** | cssgradient.io | CSS strings | Quick gradient picker; copy-paste ready. - Network accessline 344
content: ""; position: absolute; inset: 0; background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence baseFrequency='0.9' numOctaves='2'/></filter><rect width='100%' height='100%' filte - Network accessline 345
position: absolute; inset: 0; background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence baseFrequency='0.9' numOctaves='2'/></filter><rect width='100%' height='100%' filter='url(%23n)'/> - Network accessline 346
background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence baseFrequency='0.9' numOctaves='2'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>"); - Network accessline 367
| Source | URL | Best for | | ------------------------------------------ | ------ - Network accessline 368
| ------------------------------------------ | --------------- | ----------------------------------------------------------------------------------------------------------------------- | | **[LottieFiles](https://lottiefiles.com)** | lottie - Network accessline 369
| **[LottieFiles](https://lottiefiles.com)** | lottiefiles.com | The Lottie ecosystem. Free + pro tiers; npm + CDN; Figma plugin; AI creator. | - Network accessline 370
| **[Rive](https://rive.app)** | rive.app | Interactive real-time animations with state machines. Native runtime; better for app UI micro-interactions than Lottie. |
skills/hallmark/references/custom-craft.md
- Network accessline 93
1. **Design in Figma.** Use a component system (constraints, variants). Keep paths as paths - don't rasterise. Name layers; the export honours them. 2. **Export as SVG.** Figma's export is decent. Set "Outline strokes" only if you need stro - Network accessline 94
2. **Export as SVG.** Figma's export is decent. Set "Outline strokes" only if you need stroke-as-fill animation; otherwise keep them strokes. 3. **Run through [SVGOMG](https://jakearchibald.github.io/svgomg/)** - removes Figma metadata, unn - Network accessline 95
3. **Run through [SVGOMG](https://jakearchibald.github.io/svgomg/)** - removes Figma metadata, unnecessary `<defs>`, redundant transforms. 30–60 % size reduction is typical. - Network accessline 97
5. **Animate declaratively** - CSS keyframes on `<path d="">` (Chrome, Edge, Safari support the `d` property), `@property`-driven attribute interpolation, or [Motion](https://motion.dev) for orchestrated sequences. - Network accessline 210
If the browser supports it, the element animates as it enters the viewport. If not, the element is just there - no JavaScript, no library, no IntersectionObserver. The CSS Scroll-Driven Animations community is the canonical reference: [scro - Network accessline 231
| Library | When | Bundle - Network accessline 232
| ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- - Network accessline 233
| **[Motion](https://motion.dev)** (`motion/react`, `motion`) | Orchestrated multi-element entrances in React (variants, `AnimatePresence`, viewport hooks). The default for React heroes in 2026. | 4 KB base + 2 KB React = 6 K - Network accessline 234
| **[GSAP](https://gsap.com)** (free since the Webflow partnership) | Ambitious timelines, scrub-on-scroll, SVG path-morphing across mismatched anchors. Hero sequences with 20+ elements, multi-step narratives. | ~50 KB core; 100 KB+ with pl - Network accessline 275
**Stack.** - React Three Fiber (R3F) for React projects - ergonomic, ~30 KB on top of Three.js - Vanilla [Three.js](https://threejs.org) otherwise (~100–300 KB depending on features) - Network accessline 276
- React Three Fiber (R3F) for React projects - ergonomic, ~30 KB on top of Three.js - Vanilla [Three.js](https://threejs.org) otherwise (~100–300 KB depending on features) - Models: glTF 2.0 with Draco compression (20–50 % size reduction) - Network accessline 277
- Vanilla [Three.js](https://threejs.org) otherwise (~100–300 KB depending on features) - Network accessline 297
| Model | Cost | Best for - Network accessline 298
| --------------------------------------------------------------------------------------------------- | -------------- | ----------------------------------------------------------------------------------------------------------------------- - Network accessline 299
| **[Nanobanana 2 / Gemini 2.5 Flash Image](https://ai.google.dev/gemini-api/docs/image-generation)** | $0.039 / image | Character consistency across multiple panels, fast iteration, brand-style adherence via reference images, infographics - Network accessline 300
| **[Recraft V4](https://www.recraft.ai/)** | ~$0.04 / image | **The only mainstream model with production-grade SVG output.** Logos, icons, illustrations that need to live in code a - Network accessline 301
| **[Midjourney v8](https://www.midjourney.com)** | ~$0.14 / image | Aesthetic beauty, artistic direction, atmospheric stills - Network accessline 302
| **[Flux 2](https://blackforestlabs.ai/)** | ~$0.03 / image | Photorealism, skin / fabric / product detail
skills/hallmark/references/export-formats.md
skills/hallmark/references/hero-enrichment.md
- Network accessline 169
Display headline left, a browser-frame mockup right, the mockup window slightly tilted (1–3°) for life. Frames are from [Browserframe](https://browserframe.com) or hand-built (a 1-px hairline + three macOS dots).
skills/hallmark/references/imagery-kit.md
- Network accessline 6
https://www.usehallmark.com/imagery/<category>/<file> - Network accessline 88
position: absolute; inset: 0; background: url("https://www.usehallmark.com/imagery/watercolor/watercolor-warm-01.webp") center / cover no-repeat; - Network accessline 89
inset: 0; background: url("https://www.usehallmark.com/imagery/watercolor/watercolor-warm-01.webp") center / cover no-repeat; opacity: 0.6; - Network accessline 90
background: url("https://www.usehallmark.com/imagery/watercolor/watercolor-warm-01.webp") center / cover no-repeat;
skills/hallmark/references/study.md
- Network accessline 13
`study` accepts **either** an image (a screenshot the user attached) **or** a URL to a live page. Same verb, same diagnosis output, different signal sources. Detection is automatic: if the user's input starts with `http://` or `https://` → - Network accessline 45
- Require `https://` unless the user explicitly confirms a public `http://` site and there is no authenticated or sensitive context involved. - Network accessline 47
- Refuse raw IP literals and local/internal hostnames, including `localhost`, `*.localhost`, `.local`, `.internal`, `.test`, and `.lan`. - Refuse private, loopback, link-local, multicast, unspecified, and metadata address ranges, including - Network accessline 48
- Refuse private, loopback, link-local, multicast, unspecified, and metadata address ranges, including `127.0.0.0/8`, `::1`, `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`, `169.254.0.0/16`, `fe80::/10`, `fc00::/7`, `0.0.0.0/8`, and `169.2 - Network accessline 49
- If redirects are visible to the tool, every redirect hop must pass the same checks. If redirect safety is unknown, continue only when the tool definitely fetched a final public `https://` page that passes every non-redirect check; record - Network accessline 138
1. `<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=…">` - names the Google Fonts loaded. Authoritative.
skills/hallmark/references/themes/cobalt.md
- Network accessline 27
<link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;500;600&display=swap" rel="stylesheet" />
skills/hallmark/references/themes/hum.md
- Network accessline 168
<link rel="preconnect" href="https://fonts.googleapis.com" /> - Network accessline 169
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin /> - Network accessline 170
<link href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet" />
skills/hallmark/references/themes/lumen.md
- Network accessline 304
<link rel="preconnect" href="https://fonts.googleapis.com" /> - Network accessline 305
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin /> - Network accessline 306
<link href="https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Geist:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet" />
skills/hallmark/references/typography.md
- Network accessline 50
- **Google Fonts** - free, served via CDN, works everywhere. The default source. - **Fontshare** (Indian Type Foundry) - free for commercial use, foundry-grade. The "you didn't know these were free" tier. Drop-in via `<link href="https://ap - Network accessline 51
- **Fontshare** (Indian Type Foundry) - free for commercial use, foundry-grade. The "you didn't know these were free" tier. Drop-in via `<link href="https://api.fontshare.com/v2/css?f=...">`.
skills/next-best-practices/SKILL.md
skills/next-best-practices/bundling.md
- Network accessline 103
// Bad: Redundant polyfills <script src="https://polyfill.io/v3/polyfill.min.js?features=fetch,Promise,Array.from" /> - Network accessline 104
<script src="https://polyfill.io/v3/polyfill.min.js?features=fetch,Promise,Array.from" /> - Network accessline 162
Reference: [https://nextjs.org/docs/app/guides/package-bundling](https://nextjs.org/docs/app/guides/package-bundling) - Network accessline 182
Reference: [https://nextjs.org/docs/app/building-your-application/upgrading/from-webpack-to-turbopack](https://nextjs.org/docs/app/building-your-application/upgrading/from-webpack-to-turbopack)
skills/next-best-practices/data-patterns.md
- Network accessline 35
// Or fetch from external API const posts = await fetch('https://api.example.com/posts').then(r => r.json()); - Network accessline 36
const posts = await fetch('https://api.example.com/posts').then(r => r.json()); - Network accessline 262
useEffect(() => { fetch('/api/data') - Network accessline 263
fetch('/api/data')
skills/next-best-practices/debug-tricks.md
- Network accessline 12
Reference: [https://nextjs.org/docs/app/guides/mcp](https://nextjs.org/docs/app/guides/mcp) - Network accessline 21
curl -X POST http://localhost:<port>/_next/mcp \ - Network accessline 64
Returns: `{ "projectPath": "/path/to/project", "devServerUrl": "http://localhost:3000" }` - Network accessline 97
curl -X POST http://localhost:<port>/_next/mcp \
skills/next-best-practices/directives.md
- Network accessline 26
Reference: [https://react.dev/reference/rsc/use-client](https://react.dev/reference/rsc/use-client) - Network accessline 52
Reference: [https://react.dev/reference/rsc/use-server](https://react.dev/reference/rsc/use-server) - Network accessline 74
Reference: [https://nextjs.org/docs/app/api-reference/directives/use-cache](https://nextjs.org/docs/app/api-reference/directives/use-cache)
skills/next-best-practices/error-handling.md
- Network accessline 5
Reference: [https://nextjs.org/docs/app/getting-started/error-handling](https://nextjs.org/docs/app/getting-started/error-handling) - Network accessline 65
Reference: [https://nextjs.org/docs/app/api-reference/functions/redirect#behavior](https://nextjs.org/docs/app/api-reference/functions/redirect#behavior)
skills/next-best-practices/file-conventions.md
- Network accessline 7
Reference: [https://nextjs.org/docs/app/getting-started/project-structure](https://nextjs.org/docs/app/getting-started/project-structure) - Network accessline 141
Reference: [https://nextjs.org/docs/app/api-reference/file-conventions](https://nextjs.org/docs/app/api-reference/file-conventions)
skills/next-best-practices/font.md
- Network accessline 186
// Bad: Manual link tag (blocks rendering, no optimization) <link href="https://fonts.googleapis.com/css2?family=Inter" rel="stylesheet" /> - Network accessline 187
<link href="https://fonts.googleapis.com/css2?family=Inter" rel="stylesheet" /> - Network accessline 189
// Bad: Missing display and preconnect <link href="https://fonts.googleapis.com/css2?family=Inter" rel="stylesheet" /> - Network accessline 190
<link href="https://fonts.googleapis.com/css2?family=Inter" rel="stylesheet" /> - Network accessline 210
// Bad: Using @import in CSS (blocks rendering) /* globals.css */ @import url('https://fonts.googleapis.com/css2?family=Inter'); - Network accessline 212
@import url('https://fonts.googleapis.com/css2?family=Inter');
skills/next-best-practices/functions.md
- Network accessline 5
Reference: [https://nextjs.org/docs/app/api-reference/functions](https://nextjs.org/docs/app/api-reference/functions) - Network accessline 9
| Hook | Purpose | Reference | | --------------------------- | -------------------- - Network accessline 10
| --------------------------- | -------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | | `useRouter` | Programmatic navigat - Network accessline 11
| `useRouter` | Programmatic navigation (`push`, `replace`, `back`, `refresh`) | [Docs](https://nextjs.org/docs/app/api-reference/functions/use-router) | - Network accessline 12
| `usePathname` | Get current pathname | [Docs](https://nextjs.org/docs/app/api-reference/functions/use-pathname) | - Network accessline 13
| `useSearchParams` | Read URL search parameters | [Docs](https://nextjs.org/docs/app/api-reference/functions/use-search-params) | - Network accessline 14
| `useParams` | Access dynamic route parameters | [Docs](https://nextjs.org/docs/app/api-reference/functions/use-params) | - Network accessline 15
| `useSelectedLayoutSegment` | Active child segment (one level) | [Docs](https://nextjs.org/docs/app/api-reference/functions/use-selected-layout-segment) | - Network accessline 16
| `useSelectedLayoutSegments` | All active segments below layout | [Docs](https://nextjs.org/docs/app/api-reference/functions/use-selected-layout-segments) | - Network accessline 17
| `useLinkStatus` | Check link prefetch status | [Docs](https://nextjs.org/docs/app/api-reference/functions/use-link-status) | - Network accessline 18
| `useReportWebVitals` | Report Core Web Vitals metrics | [Docs](https://nextjs.org/docs/app/api-reference/functions/use-report-web-vitals) | - Network accessline 22
| Function | Purpose | Reference | | ------------ | -------------------------------------------- | --------------------------------------- - Network accessline 23
| ------------ | -------------------------------------------- | ---------------------------------------------------------------------- | | `cookies` | Read/write cookies | [Docs](https://nextjs.org/docs/app/api- - Network accessline 24
| `cookies` | Read/write cookies | [Docs](https://nextjs.org/docs/app/api-reference/functions/cookies) | - Network accessline 25
| `headers` | Read request headers | [Docs](https://nextjs.org/docs/app/api-reference/functions/headers) | - Network accessline 26
| `draftMode` | Enable preview of unpublished CMS content | [Docs](https://nextjs.org/docs/app/api-reference/functions/draft-mode) | - Network accessline 27
| `after` | Run code after response finishes streaming | [Docs](https://nextjs.org/docs/app/api-reference/functions/after) | - Network accessline 28
| `connection` | Wait for connection before dynamic rendering | [Docs](https://nextjs.org/docs/app/api-reference/functions/connection) | - Network accessline 29
| `userAgent` | Parse User-Agent header | [Docs](https://nextjs.org/docs/app/api-reference/functions/userAgent) | - Network accessline 33
| Function | Purpose | Reference | | ----------------------- | --------------------------------------- | -------------- - Network accessline 34
| ----------------------- | --------------------------------------- | ----------------------------------------------------------------------------------- | | `generateStaticParams` | Pre-render dynamic routes at build time | [Docs](https:/ - Network accessline 35
| `generateStaticParams` | Pre-render dynamic routes at build time | [Docs](https://nextjs.org/docs/app/api-reference/functions/generate-static-params) | - Network accessline 36
| `generateMetadata` | Dynamic metadata | [Docs](https://nextjs.org/docs/app/api-reference/functions/generate-metadata) | - Network accessline 37
| `generateViewport` | Dynamic viewport config | [Docs](https://nextjs.org/docs/app/api-reference/functions/generate-viewport) | - Network accessline 38
| `generateSitemaps` | Multiple sitemaps for large sites | [Docs](https://nextjs.org/docs/app/api-reference/functions/generate-sitemaps) | - Network accessline 39
| `generateImageMetadata` | Multiple OG images per route | [Docs](https://nextjs.org/docs/app/api-reference/functions/generate-image-metadata) | - Network accessline 43
| Function | Purpose | Reference | | --------------- | ------------------------------ | --------------------------------------------------------- - Network accessline 44
| --------------- | ------------------------------ | -------------------------------------------------------------------------- | | `NextRequest` | Extended Request with helpers | [Docs](https://nextjs.org/docs/app/api-reference/function - Network accessline 45
| `NextRequest` | Extended Request with helpers | [Docs](https://nextjs.org/docs/app/api-reference/functions/next-request) | - Network accessline 46
| `NextResponse` | Extended Response with helpers | [Docs](https://nextjs.org/docs/app/api-reference/functions/next-response) | - Network accessline 47
| `ImageResponse` | Generate OG images | [Docs](https://nextjs.org/docs/app/api-reference/functions/image-response) |
skills/next-best-practices/hydration-error.md
skills/next-best-practices/image.md
- Network accessline 25
// Remote images - must specify width/height <Image src="https://example.com/image.jpg" alt="Hero" width={800} height={400} /> - Network accessline 26
<Image src="https://example.com/image.jpg" alt="Hero" width={800} height={400} /> - Network accessline 97
// Remote images - provide blurDataURL <Image src="https://example.com/image.jpg" - Network accessline 98
<Image src="https://example.com/image.jpg" alt="Hero" - Network accessline 99
src="https://example.com/image.jpg" - Network accessline 107
// Or use color placeholder <Image src="https://example.com/image.jpg" - Network accessline 108
<Image src="https://example.com/image.jpg" alt="Hero" - Network accessline 109
src="https://example.com/image.jpg" - Network accessline 145
// Bad: Remote image without config <Image src="https://untrusted.com/image.jpg" alt="Image" width={400} height={300} /> - Network accessline 146
<Image src="https://untrusted.com/image.jpg" alt="Image" width={400} height={300} /> - Network accessline 167
// Option 3: Custom loader (Cloudinary, Imgix, etc.) const cloudinaryLoader = ({ src, width, quality }) => { return `https://res.cloudinary.com/demo/image/upload/w_${width},q_${quality || 75}/${src}` - Network accessline 168
const cloudinaryLoader = ({ src, width, quality }) => { return `https://res.cloudinary.com/demo/image/upload/w_${width},q_${quality || 75}/${src}` } - Network accessline 169
return `https://res.cloudinary.com/demo/image/upload/w_${width},q_${quality || 75}/${src}`
skills/next-best-practices/metadata.md
- Network accessline 83
Reference: [https://nextjs.org/docs/app/getting-started/project-structure#metadata-file-conventions](https://nextjs.org/docs/app/getting-started/project-structure#metadata-file-conventions) - Network accessline 297
return products.map((product) => ({ url: `https://example.com/product/${product.id}`, - Network accessline 298
url: `https://example.com/product/${product.id}`,
skills/next-best-practices/scripts.md
- Network accessline 10
// Bad: Native script tag <script src="https://example.com/script.js"></script> - Network accessline 11
<script src="https://example.com/script.js"></script> - Network accessline 16
<Script src="https://example.com/script.js" /> - Network accessline 78
// Bad: Inline GA script <Script src="https://www.googletagmanager.com/gtag/js?id=G-XXXXX" /> - Network accessline 79
<Script src="https://www.googletagmanager.com/gtag/js?id=G-XXXXX" /> - Access to secretsline 127
[Credential-related source omitted]
skills/next-best-practices/self-hosting.md
- Network accessline 83
restart: unless-stopped healthcheck: test: ["CMD", "wget", "-q", "--spider", "http://localhost:3000/api/health"] - Network accessline 84
healthcheck: test: ["CMD", "wget", "-q", "--spider", "http://localhost:3000/api/health"] interval: 30s - Network accessline 85
test: ["CMD", "wget", "-q", "--spider", "http://localhost:3000/api/health"] - Network accessline 277
export default function cloudinaryLoader({ src, width, quality }) { const params = ['f_auto', 'c_limit', `w_${width}`, `q_${quality || 'auto'}`]; return `https://res.cloudinary.com/demo/image/upload/${params.join(',')}${src}`; - Network accessline 278
const params = ['f_auto', 'c_limit', `w_${width}`, `q_${quality || 'auto'}`]; return `https://res.cloudinary.com/demo/image/upload/${params.join(',')}${src}`; } - Network accessline 279
return `https://res.cloudinary.com/demo/image/upload/${params.join(',')}${src}`; - Network accessline 288
// Available at build time only (baked into bundle) NEXT_PUBLIC_API_URL=https://api.example.com - Network accessline 289
NEXT_PUBLIC_API_URL=https://api.example.com - Network accessline 312
[OpenNext](https://open-next.js.org/) adapts Next.js for AWS Lambda, Cloudflare Workers, etc. - Network accessline 366
# Trigger ISR revalidation curl http://localhost:3001/api/revalidate?path=/posts - Network accessline 367
curl http://localhost:3001/api/revalidate?path=/posts - Network accessline 369
# Verify both instances see the update curl http://localhost:3001/posts - Network accessline 370
curl http://localhost:3001/posts - Network accessline 371
curl http://localhost:3002/posts
skills/nuxt/SKILL.md
- Network accessline 5
author: Yam C Borodetsky original_author: Anthony Fu origin: https://github.com/antfu/skills - Network accessline 6
original_author: Anthony Fu origin: https://github.com/antfu/skills version: "2026.1.28" - Network accessline 7
origin: https://github.com/antfu/skills - Network accessline 8
version: "2026.1.28" source: Generated from https://github.com/nuxt/nuxt, scripts located at https://github.com/antfu/skills internal: true - Network accessline 9
source: Generated from https://github.com/nuxt/nuxt, scripts located at https://github.com/antfu/skills - Network accessline 62
This skill was originally created by [Anthony Fu](https://github.com/antfu) and sourced from [antfu/skills](https://github.com/antfu/skills).
skills/nuxt/references/advanced-hooks.md
- Network accessline 285
<!-- Source references: - https://nuxt.com/docs/guide/going-further/hooks - Network accessline 286
Source references: - https://nuxt.com/docs/guide/going-further/hooks - https://nuxt.com/docs/api/advanced/hooks - Network accessline 287
- https://nuxt.com/docs/guide/going-further/hooks - Network accessline 288
- https://nuxt.com/docs/api/advanced/hooks
skills/nuxt/references/advanced-layers.md
- Network accessline 295
<!-- Source references: - https://nuxt.com/docs/getting-started/layers - Network accessline 296
Source references: - https://nuxt.com/docs/getting-started/layers - https://nuxt.com/docs/guide/going-further/layers - Network accessline 297
- https://nuxt.com/docs/getting-started/layers - Network accessline 298
- https://nuxt.com/docs/guide/going-further/layers
skills/nuxt/references/advanced-module-authoring.md
- Network accessline 81
}, defaults: { baseURL: 'https://api.example.com', - Network accessline 82
defaults: { baseURL: 'https://api.example.com', timeout: 5000, - Network accessline 83
baseURL: 'https://api.example.com', - Network accessline 544
<!-- Source references: - https://nuxt.com/docs/api/kit/modules - Network accessline 545
Source references: - https://nuxt.com/docs/api/kit/modules - https://nuxt.com/docs/api/kit/components - Network accessline 546
- https://nuxt.com/docs/api/kit/modules - Network accessline 547
- https://nuxt.com/docs/api/kit/components - Network accessline 548
- https://nuxt.com/docs/api/kit/autoimports - Network accessline 549
- https://nuxt.com/docs/api/kit/plugins - Network accessline 550
- https://nuxt.com/docs/api/kit/templates - Network accessline 551
- https://nuxt.com/docs/api/kit/nitro - Network accessline 552
- https://nuxt.com/docs/api/kit/pages - Network accessline 553
- https://nuxt.com/docs/api/kit/resolving
skills/nuxt/references/best-practices-data-fetching.md
- Network accessline 73
<script setup lang="ts"> // This fetches TWICE: once on server, once on client const data = await $fetch('/api/posts') - Network accessline 74
// This fetches TWICE: once on server, once on client const data = await $fetch('/api/posts') </script> - Network accessline 75
const data = await $fetch('/api/posts') - Network accessline 205
async (_nuxtApp, { signal }) => { const [user, posts, stats] = await Promise.all([ $fetch('/api/user', { signal }), - Network accessline 206
const [user, posts, stats] = await Promise.all([ $fetch('/api/user', { signal }), $fetch('/api/posts', { signal }), - Network accessline 207
$fetch('/api/user', { signal }), - Network accessline 208
$fetch('/api/posts', { signal }), - Network accessline 209
$fetch('/api/stats', { signal }), - Network accessline 351
<!-- Source references: - https://nuxt.com/docs/getting-started/data-fetching - Network accessline 352
Source references: - https://nuxt.com/docs/getting-started/data-fetching - https://nuxt.com/docs/api/composables/use-fetch - Network accessline 353
- https://nuxt.com/docs/getting-started/data-fetching - https://nuxt.com/docs/api/composables/use-fetch - https://nuxt.com/docs/api/composables/use-async-data - Network accessline 354
- https://nuxt.com/docs/api/composables/use-fetch - Network accessline 355
- https://nuxt.com/docs/api/composables/use-async-data - https://nuxt.com/docs/api/composables/use-lazy-fetch --> - Network accessline 356
- https://nuxt.com/docs/api/composables/use-lazy-fetch
skills/nuxt/references/best-practices-ssr.md
- Network accessline 350
<!-- Source references: - https://nuxt.com/docs/guide/concepts/auto-imports#vue-and-nuxt-composables - Network accessline 351
Source references: - https://nuxt.com/docs/guide/concepts/auto-imports#vue-and-nuxt-composables - https://nuxt.com/docs/guide/best-practices/hydration - Network accessline 352
- https://nuxt.com/docs/guide/concepts/auto-imports#vue-and-nuxt-composables - Network accessline 353
- https://nuxt.com/docs/guide/best-practices/hydration - Network accessline 354
- https://nuxt.com/docs/getting-started/state-management#best-practices
skills/nuxt/references/core-cli.md
- Network accessline 45
# Start development server (default: http://localhost:3000) - Network accessline 257
<!-- Source references: - https://nuxt.com/docs/api/commands/dev - Network accessline 258
Source references: - https://nuxt.com/docs/api/commands/dev - https://nuxt.com/docs/api/commands/build - Network accessline 259
- https://nuxt.com/docs/api/commands/dev - Network accessline 260
- https://nuxt.com/docs/api/commands/build - Network accessline 261
- https://nuxt.com/docs/api/commands/generate - Network accessline 262
- https://nuxt.com/docs/api/commands/init
skills/nuxt/references/core-config.md
- Network accessline 68
[Credential-related source omitted] - Access to secretsline 68
[Credential-related source omitted] - Network accessline 70
NUXT_PUBLIC_API_BASE=https://api.example.com - Network accessline 157
<!-- Source references: - https://nuxt.com/docs/getting-started/configuration - Network accessline 158
Source references: - https://nuxt.com/docs/getting-started/configuration - https://nuxt.com/docs/guide/going-further/runtime-config - Network accessline 159
- https://nuxt.com/docs/getting-started/configuration - Network accessline 160
- https://nuxt.com/docs/guide/going-further/runtime-config - Network accessline 161
- https://nuxt.com/docs/api/nuxt-config
skills/nuxt/references/core-data-fetching.md
- Network accessline 12
- `$fetch` - Basic fetch utility (use for client-side events) - `useFetch` - SSR-safe wrapper around $fetch (use for component data) - Network accessline 13
- `useFetch` - SSR-safe wrapper around $fetch (use for component data) - Network accessline 100
const { data } = await useAsyncData('cart', async () => { const [coupons, offers] = await Promise.all([ $fetch('/api/coupons'), - Network accessline 101
const [coupons, offers] = await Promise.all([ $fetch('/api/coupons'), $fetch('/api/offers'), - Network accessline 102
$fetch('/api/coupons'), - Network accessline 103
$fetch('/api/offers'), - Network accessline 115
<script setup lang="ts"> async function submitForm() { const result = await $fetch('/api/submit', { - Network accessline 116
async function submitForm() { const result = await $fetch('/api/submit', { method: 'POST', - Network accessline 117
const result = await $fetch('/api/submit', { - Network accessline 225
<script setup lang="ts"> const headers = useRequestHeaders(['cookie']) const data = await $fetch('/api/user', { headers }) - Network accessline 226
const headers = useRequestHeaders(['cookie']) const data = await $fetch('/api/user', { headers }) </script> - Network accessline 227
const data = await $fetch('/api/user', { headers }) - Network accessline 231
<!-- Source references: - https://nuxt.com/docs/getting-started/data-fetching - Network accessline 232
Source references: - https://nuxt.com/docs/getting-started/data-fetching - https://nuxt.com/docs/api/composables/use-fetch - Network accessline 233
- https://nuxt.com/docs/getting-started/data-fetching - https://nuxt.com/docs/api/composables/use-fetch - https://nuxt.com/docs/api/composables/use-async-data - Network accessline 234
- https://nuxt.com/docs/api/composables/use-fetch - Network accessline 235
- https://nuxt.com/docs/api/composables/use-async-data
skills/nuxt/references/core-deployment.md
- Network accessline 8
Nuxt is platform-agnostic thanks to [Nitro](https://nitro.build), its server engine. You can deploy to almost any platform with minimal configuration—Node.js servers, static hosting, serverless functions, or edge networks. - Network accessline 10
> **Full list of supported platforms:** https://nitro.build/deploy - Network accessline 220
<!-- Source references: - https://nuxt.com/docs/getting-started/deployment - Network accessline 221
Source references: - https://nuxt.com/docs/getting-started/deployment - https://nitro.build/deploy - Network accessline 222
- https://nuxt.com/docs/getting-started/deployment - Network accessline 223
- https://nitro.build/deploy
skills/nuxt/references/core-directory-structure.md
- Network accessline 264
<!-- Source references: - https://nuxt.com/docs/directory-structure - Network accessline 265
Source references: - https://nuxt.com/docs/directory-structure - https://nuxt.com/docs/directory-structure/app - Network accessline 266
- https://nuxt.com/docs/directory-structure - Network accessline 267
- https://nuxt.com/docs/directory-structure/app - Network accessline 268
- https://nuxt.com/docs/directory-structure/server
skills/nuxt/references/core-modules.md
- Network accessline 287
<!-- Source references: - https://nuxt.com/docs/guide/modules - Network accessline 288
Source references: - https://nuxt.com/docs/guide/modules - https://nuxt.com/docs/guide/modules/module-anatomy - Network accessline 289
- https://nuxt.com/docs/guide/modules - Network accessline 290
- https://nuxt.com/docs/guide/modules/module-anatomy - Network accessline 291
- https://nuxt.com/docs/api/kit
skills/nuxt/references/core-routing.md
- Network accessline 221
<!-- Source references: - https://nuxt.com/docs/getting-started/routing - Network accessline 222
Source references: - https://nuxt.com/docs/getting-started/routing - https://nuxt.com/docs/directory-structure/app/pages - Network accessline 223
- https://nuxt.com/docs/getting-started/routing - Network accessline 224
- https://nuxt.com/docs/directory-structure/app/pages - Network accessline 225
- https://nuxt.com/docs/directory-structure/app/middleware
skills/nuxt/references/features-components-autoimport.md
- Network accessline 324
<!-- Source references: - https://nuxt.com/docs/directory-structure/app/components - Network accessline 325
Source references: - https://nuxt.com/docs/directory-structure/app/components - https://nuxt.com/docs/guide/concepts/auto-imports#auto-imported-components - Network accessline 326
- https://nuxt.com/docs/directory-structure/app/components - Network accessline 327
- https://nuxt.com/docs/guide/concepts/auto-imports#auto-imported-components
skills/nuxt/references/features-components.md
- Network accessline 22
<!-- External link (opens in new tab) --> <NuxtLink to="https://nuxt.com" external>Nuxt</NuxtLink> - Network accessline 23
<NuxtLink to="https://nuxt.com" external>Nuxt</NuxtLink> - Network accessline 258
<!-- Source references: - https://nuxt.com/docs/api/components/nuxt-link - Network accessline 259
Source references: - https://nuxt.com/docs/api/components/nuxt-link - https://nuxt.com/docs/api/components/nuxt-page - Network accessline 260
- https://nuxt.com/docs/api/components/nuxt-link - Network accessline 261
- https://nuxt.com/docs/api/components/nuxt-page - Network accessline 262
- https://nuxt.com/docs/api/components/nuxt-layout - Network accessline 263
- https://nuxt.com/docs/api/components/client-only
skills/nuxt/references/features-composables.md
- Network accessline 89
async function login(credentials: Credentials) { user.value = await $fetch('/api/auth/login', { - Network accessline 90
user.value = await $fetch('/api/auth/login', { - Network accessline 96
async function logout() { await $fetch('/api/auth/logout', { method: 'POST' }) - Network accessline 97
await $fetch('/api/auth/logout', { method: 'POST' }) - Access to secretsline 183
[Credential-related source omitted] - Network accessline 271
<!-- Source references: - https://nuxt.com/docs/guide/concepts/auto-imports - Network accessline 272
Source references: - https://nuxt.com/docs/guide/concepts/auto-imports - https://nuxt.com/docs/directory-structure/app/composables - Network accessline 273
- https://nuxt.com/docs/guide/concepts/auto-imports - Network accessline 274
- https://nuxt.com/docs/directory-structure/app/composables - Network accessline 275
- https://nuxt.com/docs/directory-structure/app/utils
skills/nuxt/references/features-server.md
- Network accessline 260
<!-- Source references: - https://nuxt.com/docs/getting-started/server - Network accessline 261
Source references: - https://nuxt.com/docs/getting-started/server - https://nuxt.com/docs/directory-structure/server - Network accessline 262
- https://nuxt.com/docs/getting-started/server - Network accessline 263
- https://nuxt.com/docs/directory-structure/server - Network accessline 264
- https://nitro.build/guide
skills/nuxt/references/features-state.md
- Network accessline 60
await callOnce(async () => { config.value = await $fetch('/api/config') - Network accessline 61
config.value = await $fetch('/api/config') - Network accessline 123
async function login(credentials: Credentials) { user.value = await $fetch('/api/login', { - Network accessline 124
user.value = await $fetch('/api/login', { - Network accessline 189
<!-- Source references: - https://nuxt.com/docs/getting-started/state-management - Network accessline 190
Source references: - https://nuxt.com/docs/getting-started/state-management - https://nuxt.com/docs/api/composables/use-state - Network accessline 191
- https://nuxt.com/docs/getting-started/state-management - Network accessline 192
- https://nuxt.com/docs/api/composables/use-state - Network accessline 193
- https://nuxt.com/docs/api/utils/clear-nuxt-state
skills/nuxt/references/rendering-modes.md
- Network accessline 232
<!-- Source references: - https://nuxt.com/docs/guide/concepts/rendering - Network accessline 233
Source references: - https://nuxt.com/docs/guide/concepts/rendering - https://nuxt.com/docs/getting-started/prerendering - Network accessline 234
- https://nuxt.com/docs/guide/concepts/rendering - Network accessline 235
- https://nuxt.com/docs/getting-started/prerendering - Network accessline 236
- https://nuxt.com/docs/api/nuxt-config#routerules
skills/pnpm/SKILL.md
- Network accessline 5
author: Anthony Fu version: "2026.1.28" source: Generated from https://github.com/pnpm/pnpm, scripts located at https://github.com/antfu/skills - Network accessline 6
version: "2026.1.28" source: Generated from https://github.com/pnpm/pnpm, scripts located at https://github.com/antfu/skills internal: true - Network accessline 7
source: Generated from https://github.com/pnpm/pnpm, scripts located at https://github.com/antfu/skills
skills/pnpm/references/best-practices-ci.md
- Network accessline 281
<!-- Source references: - https://pnpm.io/continuous-integration - Network accessline 282
Source references: - https://pnpm.io/continuous-integration - https://github.com/pnpm/action-setup - Network accessline 283
- https://pnpm.io/continuous-integration - Network accessline 284
- https://github.com/pnpm/action-setup
skills/pnpm/references/best-practices-migration.md
- Dangerous shell operationline 16
rm -rf node_modules package-lock.json - Dangerous shell operationline 26
rm -rf node_modules yarn.lock - Dangerous shell operationline 119
rm -rf node_modules - Dangerous shell operationline 144
rm -rf node_modules packages/*/node_modules package-lock.json - Dangerous shell operationline 152
rm yarn.lock .yarnrc.yml - Dangerous shell operationline 153
rm -rf .yarn - Network accessline 212
# Registry settings (same as npm) registry=https://registry.npmjs.org/ - Network accessline 213
registry=https://registry.npmjs.org/ - Network accessline 214
@myorg:registry=https://npm.myorg.com/ - Access to secretsline 217
[Credential-related source omitted] - Dangerous shell operationline 281
rm -rf node_modules pnpm-lock.yaml pnpm-workspace.yaml - Network accessline 292
<!-- Source references: - https://pnpm.io/installation - Network accessline 293
Source references: - https://pnpm.io/installation - https://pnpm.io/cli/import - Network accessline 294
- https://pnpm.io/installation - Network accessline 295
- https://pnpm.io/cli/import - Network accessline 296
- https://pnpm.io/limitations
skills/pnpm/references/best-practices-performance.md
- Network accessline 172
# .npmrc registry=https://registry.npmmirror.com/ - Network accessline 173
registry=https://registry.npmmirror.com/ - Network accessline 191
# .npmrc proxy=http://proxy.company.com:8080 - Network accessline 192
proxy=http://proxy.company.com:8080 - Network accessline 193
https-proxy=http://proxy.company.com:8080 - Dangerous shell operationline 227
rm -rf node_modules pnpm-lock.yaml - Dangerous shell operationline 231
rm -rf node_modules - Network accessline 284
<!-- Source references: - https://pnpm.io/performance - Network accessline 285
Source references: - https://pnpm.io/performance - https://pnpm.io/benchmarks - Network accessline 286
- https://pnpm.io/performance - Network accessline 287
- https://pnpm.io/benchmarks - Network accessline 288
- https://github.com/pnpm/pnpm/releases
skills/pnpm/references/core-cli.md
- Dangerous shell operationline 46
pnpm rm <pkg> - Network accessline 236
<!-- Source references: - https://pnpm.io/cli/install - Network accessline 237
Source references: - https://pnpm.io/cli/install - https://pnpm.io/cli/add - Network accessline 238
- https://pnpm.io/cli/install - Network accessline 239
- https://pnpm.io/cli/add - Network accessline 240
- https://pnpm.io/cli/run - Network accessline 241
- https://pnpm.io/filtering
skills/pnpm/references/core-config.md
- Network accessline 80
# Registry settings registry=https://registry.npmjs.org/ - Network accessline 81
registry=https://registry.npmjs.org/ - Network accessline 82
@myorg:registry=https://npm.myorg.com/ - Network accessline 141
# Set config via env npm_config_registry=https://registry.npmjs.org/ - Network accessline 142
npm_config_registry=https://registry.npmjs.org/ - Network accessline 183
<!-- Source references: - https://pnpm.io/npmrc - Network accessline 184
Source references: - https://pnpm.io/npmrc - https://pnpm.io/configuring - Network accessline 185
- https://pnpm.io/npmrc - Network accessline 186
- https://pnpm.io/configuring - Network accessline 187
- https://pnpm.io/package_json
skills/pnpm/references/core-store.md
- Network accessline 177
<!-- Source references: - https://pnpm.io/store - Network accessline 178
Source references: - https://pnpm.io/store - https://pnpm.io/store-path - Network accessline 179
- https://pnpm.io/store - Network accessline 180
- https://pnpm.io/store-path - Network accessline 181
- https://pnpm.io/cli/store
skills/pnpm/references/core-workspaces.md
- Dangerous shell operationline 125
pnpm --filter "./packages/**" exec rm -rf dist - Network accessline 204
<!-- Source references: - https://pnpm.io/workspaces - Network accessline 205
Source references: - https://pnpm.io/workspaces - https://pnpm.io/pnpm-workspace_yaml - Network accessline 206
- https://pnpm.io/workspaces - Network accessline 207
- https://pnpm.io/pnpm-workspace_yaml - Network accessline 208
- https://pnpm.io/filtering
skills/pnpm/references/features-aliases.md
- Network accessline 167
<!-- Source references: - https://pnpm.io/aliases - Network accessline 168
Source references: - https://pnpm.io/aliases - https://pnpm.io/cli/add - Network accessline 169
- https://pnpm.io/aliases - Network accessline 170
- https://pnpm.io/cli/add - Network accessline 171
- https://pnpm.io/cli/install
skills/pnpm/references/features-catalogs.md
skills/pnpm/references/features-hooks.md
skills/pnpm/references/features-overrides.md
- Network accessline 189
<!-- Source references: - https://pnpm.io/overrides - Network accessline 190
Source references: - https://pnpm.io/overrides - https://pnpm.io/package_json - Network accessline 191
- https://pnpm.io/overrides - Network accessline 192
- https://pnpm.io/package_json - Network accessline 193
- https://pnpm.io/resolution
skills/pnpm/references/features-patches.md
- Network accessline 164
# In patches/README.md ## express@4.18.2.patch Fixes timeout issue. PR pending: https://github.com/expressjs/express/pull/1234 - Network accessline 166
Fixes timeout issue. PR pending: https://github.com/expressjs/express/pull/1234 - Network accessline 199
<!-- Source references: - https://pnpm.io/patches - Network accessline 200
Source references: - https://pnpm.io/patches - https://pnpm.io/cli/patch - Network accessline 201
- https://pnpm.io/patches - Network accessline 202
- https://pnpm.io/cli/patch - Network accessline 203
- https://pnpm.io/cli/patch-commit
skills/pnpm/references/features-peer-deps.md
- Network accessline 248
<!-- Source references: - https://pnpm.io/how-peers-are-resolved - Network accessline 249
Source references: - https://pnpm.io/how-peers-are-resolved - https://pnpm.io/package_json - Network accessline 250
- https://pnpm.io/how-peers-are-resolved - Network accessline 251
- https://pnpm.io/package_json - Network accessline 252
- https://pnpm.io/npmrc
skills/setup-matt-pocock-skills/SKILL.md
- Network accessline 44
- **GitHub** - issues live in the repo's GitHub Issues (uses the `gh` CLI) - **GitLab** - issues live in the repo's GitLab Issues (uses the [`glab`](https://gitlab.com/gitlab-org/cli) CLI) - Network accessline 45
- **GitLab** - issues live in the repo's GitLab Issues (uses the [`glab`](https://gitlab.com/gitlab-org/cli) CLI)
skills/setup-matt-pocock-skills/issue-tracker-gitlab.md
- Network accessline 3
Issues and PRDs for this repo live as GitLab issues. Use the [`glab`](https://gitlab.com/gitlab-org/cli) CLI for all operations.
skills/sync-main/SKILL.md
- Network accessline 12
After the RC docs cutover (Option A), a push to `main` refreshes the **v0 archive** at `https://arkenv-v0.vercel.app`. It does **not** deploy Production / `arkenv.js.org` (that tracks `v1`). Use this skill for urgent **legacy v0** doc fixes - Network accessline 89
4. **Deploy**: Once the PR is merged to `main`, the **v0 archive** (`https://arkenv-v0.vercel.app`) refreshes. Production / - Network accessline 90
Once the PR is merged to `main`, the **v0 archive** (`https://arkenv-v0.vercel.app`) refreshes. Production / `arkenv.js.org` is unchanged (tracks `v1`). - Network accessline 91
(`https://arkenv-v0.vercel.app`) refreshes. Production /
skills/tdd/mocking.md
- Access to secretsline 32
[Credential-related source omitted] - Network accessline 42
// GOOD: Each function is independently mockable const api = { getUser: (id) => fetch(`/users/${id}`), - Network accessline 43
const api = { getUser: (id) => fetch(`/users/${id}`), getOrders: (userId) => fetch(`/users/${userId}/orders`), - Network accessline 44
getUser: (id) => fetch(`/users/${id}`), - Network accessline 45
getOrders: (userId) => fetch(`/users/${userId}/orders`), - Network accessline 46
createOrder: (data) => fetch('/orders', { method: 'POST', body: data }), - Network accessline 49
// BAD: Mocking requires conditional logic inside the mock const api = { fetch: (endpoint, options) => fetch(endpoint, options), - Network accessline 50
const api = { fetch: (endpoint, options) => fetch(endpoint, options), }; - Network accessline 51
fetch: (endpoint, options) => fetch(endpoint, options),
skills/the-hat/SKILL.md
- Network accessline 12
Worked example of a hat loop later promoted to an ADR: [#1564](https://github.com/yamcodes/arkenv/issues/1564) / [#1570](https://github.com/yamcodes/arkenv/pull/1570) became [ADR 0025](../../docs/adr/0025-to-json-schema-escape-hatch.md). Co
skills/the-voice/SKILL.md
- Network accessline 22
ArkEnv docs sound like [turborepo.dev](https://turborepo.dev/docs) plus
skills/the-voice/references/canons.md
- Network accessline 8
[Using AI with Turborepo](https://turborepo.dev/docs/guides/using-ai-with-turborepo)
skills/turborepo/SKILL.md
- Access to secretsline 157
[Credential-related source omitted] - Access to secretsline 352
[Credential-related source omitted] - Access to secretsline 369
[Credential-related source omitted] - Access to secretsline 374
[Credential-related source omitted] - Access to secretsline 616
[Credential-related source omitted] - Access to secretsline 627
[Credential-related source omitted] - Access to secretsline 636
[Credential-related source omitted] - Access to secretsline 641
[Credential-related source omitted] - Access to secretsline 652
[Credential-related source omitted] - Access to secretsline 654
[Credential-related source omitted] - Access to secretsline 660
[Credential-related source omitted] - Access to secretsline 664
[Credential-related source omitted] - Access to secretsline 666
[Credential-related source omitted] - Access to secretsline 674
[Credential-related source omitted] - Network accessline 743
{ "$schema": "https://v2-9-17-canary-1.turborepo.dev/schema.json", - Network accessline 744
"$schema": "https://v2-9-17-canary-1.turborepo.dev/schema.json", - Access to secretsline 846
[Credential-related source omitted] - Access to secretsline 864
[Credential-related source omitted] - Access to secretsline 901
[Credential-related source omitted] - Network accessline 951
- Source: `apps/docs/content/docs/` in the Turborepo repository - Live: https://turborepo.dev/docs - Network accessline 952
- Live: https://turborepo.dev/docs
skills/turborepo/references/best-practices/structure.md
- Network accessline 97
{ "$schema": "https://v2-9-17-canary-1.turborepo.dev/schema.json", - Network accessline 98
"$schema": "https://v2-9-17-canary-1.turborepo.dev/schema.json", - Network accessline 119
{ "$schema": "https://v2-9-17-canary-1.turborepo.dev/schema.json", - Network accessline 120
"$schema": "https://v2-9-17-canary-1.turborepo.dev/schema.json",
skills/turborepo/references/boundaries/RULE.md
skills/turborepo/references/caching/RULE.md
skills/turborepo/references/caching/gotchas.md
skills/turborepo/references/caching/remote-cache.md
skills/turborepo/references/ci/github-actions.md
- Network accessline 77
1. Go to [Vercel Dashboard](https://vercel.com/account/tokens)
skills/turborepo/references/ci/vercel.md
- Access to secretsline 73
[Credential-related source omitted]
skills/turborepo/references/cli/commands.md
skills/turborepo/references/configuration/RULE.md
- Network accessline 3
Configuration reference for Turborepo. Full docs: https://turborepo.dev/docs/reference/configuration - Network accessline 75
{ "$schema": "https://v2-9-17-canary-1.turborepo.dev/schema.json", - Network accessline 76
"$schema": "https://v2-9-17-canary-1.turborepo.dev/schema.json", - Network accessline 99
{ "$schema": "https://v2-9-17-canary-1.turborepo.dev/schema.json", - Network accessline 100
"$schema": "https://v2-9-17-canary-1.turborepo.dev/schema.json",
skills/turborepo/references/configuration/global-options.md
- Network accessline 3
Options that affect all tasks. Full docs: https://turborepo.dev/docs/reference/configuration - Access to secretsline 23
[Credential-related source omitted] - Network accessline 103
| `timeout` | `30` | Timeout in seconds for cache operations | | `uploadTimeout` | `60` | Timeout in seconds for uploads | | `apiUrl` | `"https://vercel - Network accessline 104
| `uploadTimeout` | `60` | Timeout in seconds for uploads | | `apiUrl` | `"https://vercel.com"` | Remote cache API endpoint | | `loginUrl` | `"https://vercel - Network accessline 105
| `apiUrl` | `"https://vercel.com"` | Remote cache API endpoint | - Network accessline 106
| `loginUrl` | `"https://vercel.com"` | Login endpoint | - Network accessline 110
See https://turborepo.dev/docs/core-concepts/remote-caching for setup. - Access to secretsline 162
[Credential-related source omitted]
skills/turborepo/references/configuration/gotchas.md
skills/turborepo/references/configuration/tasks.md
skills/turborepo/references/environment/RULE.md
- Access to secretsline 15
[Credential-related source omitted] - Access to secretsline 67
[Credential-related source omitted] - Access to secretsline 100
[Credential-related source omitted] - Network accessline 109
{ "$schema": "https://v2-9-17-canary-1.turborepo.dev/schema.json", - Network accessline 110
"$schema": "https://v2-9-17-canary-1.turborepo.dev/schema.json", - Access to secretsline 116
[Credential-related source omitted]
skills/turborepo/references/environment/gotchas.md
- Access to secretsline 5
[Credential-related source omitted] - Access to secretsline 28
[Credential-related source omitted] - Access to secretsline 68
[Credential-related source omitted] - Access to secretsline 89
[Credential-related source omitted] - Access to secretsline 99
[Credential-related source omitted] - Network accessline 114
{ "$schema": "https://v2-9-17-canary-1.turborepo.dev/schema.json", - Network accessline 115
"$schema": "https://v2-9-17-canary-1.turborepo.dev/schema.json", - Access to secretsline 122
[Credential-related source omitted] - Access to secretsline 125
[Credential-related source omitted] - Access to secretsline 139
[Credential-related source omitted] - Access to secretsline 140
[Credential-related source omitted] - Network accessline 148
{ "$schema": "https://v2-9-17-canary-1.turborepo.dev/schema.json", - Network accessline 149
"$schema": "https://v2-9-17-canary-1.turborepo.dev/schema.json", - Access to secretsline 154
[Credential-related source omitted] - Access to secretsline 160
[Credential-related source omitted]
skills/turborepo/references/watch/RULE.md
- Network accessline 3
Full docs: https://turborepo.dev/docs/reference/watch
skills/typescript/SKILL.md
- Network accessline 97
1. [https://github.com/microsoft/TypeScript/wiki/Performance](https://github.com/microsoft/TypeScript/wiki/Performance) - Network accessline 98
2. [https://www.typescriptlang.org/docs/handbook/](https://www.typescriptlang.org/docs/handbook/) - Network accessline 99
3. [https://v8.dev/blog](https://v8.dev/blog) - Network accessline 100
4. [https://nodejs.org/en/learn/diagnostics/memory](https://nodejs.org/en/learn/diagnostics/memory)
skills/typescript/assets/templates/_template.md
- Network accessline 26
Reference: [Link to documentation](https://example.com)
skills/typescript/references/advanced-branded-types.md
- Network accessline 84
Reference: [TypeScript Playground - Nominal Typing](https://www.typescriptlang.org/play/typescript/language-extensions/nominal-typing.ts.html)
skills/typescript/references/advanced-satisfies-operator.md
- Network accessline 74
const config = { apiUrl: 'https://api.example.com', - Network accessline 75
apiUrl: 'https://api.example.com', - Network accessline 84
// Both validated AND readonly with literal types config.apiUrl // Type: 'https://api.example.com' (not just string) - Network accessline 85
config.apiUrl // Type: 'https://api.example.com' (not just string) - Network accessline 95
Reference: [TypeScript 4.9 satisfies](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-4-9.html#the-satisfies-operator)
skills/typescript/references/advanced-template-literal-types.md
skills/typescript/references/async-avoid-loop-await.md
- Network accessline 79
Reference: [ESLint no-await-in-loop](https://eslint.org/docs/rules/no-await-in-loop)
skills/typescript/references/async-avoid-unnecessary-async.md
- Network accessline 64
Reference: [ESLint no-return-await deprecation](https://eslint.org/docs/latest/rules/no-return-await)
skills/typescript/references/async-defer-await.md
skills/typescript/references/async-explicit-return-types.md
- Network accessline 15
async function fetchUserOrders(userId: string) { const response = await fetch(`/api/users/${userId}/orders`) - Network accessline 16
const response = await fetch(`/api/users/${userId}/orders`) - Network accessline 37
async function fetchUserOrders(userId: string): Promise<Order[] | null> { const response = await fetch(`/api/users/${userId}/orders`) - Network accessline 38
const response = await fetch(`/api/users/${userId}/orders`) - Network accessline 57
async function fetchUserOrders(userId: string): Promise<Result<Order[]>> { try { const response = await fetch(`/api/users/${userId}/orders`) - Network accessline 58
try { const response = await fetch(`/api/users/${userId}/orders`) if (!response.ok) { - Network accessline 59
const response = await fetch(`/api/users/${userId}/orders`) - Network accessline 77
Reference: [TypeScript Performance Wiki - Using Type Annotations](https://github.com/microsoft/TypeScript/wiki/Performance#using-type-annotations)
skills/typescript/references/async-parallel-promises.md
- Network accessline 64
Reference: [MDN Promise.all](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/all)
skills/typescript/references/mem-avoid-closure-leaks.md
- Network accessline 101
Reference: [Node.js Memory Diagnostics](https://nodejs.org/en/learn/diagnostics/memory)
skills/typescript/references/mem-avoid-global-state.md
- Network accessline 97
Reference: [Node.js Memory Management](https://nodejs.org/en/learn/diagnostics/memory)
skills/typescript/references/mem-cleanup-event-listeners.md
- Network accessline 111
Reference: [MDN AbortController](https://developer.mozilla.org/en-US/docs/Web/API/AbortController)
skills/typescript/references/mem-clear-timers.md
- Network accessline 106
Reference: [MDN clearInterval](https://developer.mozilla.org/en-US/docs/Web/API/clearInterval)
skills/typescript/references/mem-use-weakmap-for-metadata.md
- Network accessline 85
Reference: [MDN WeakMap](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap)
skills/typescript/references/module-avoid-barrel-imports.md
- Network accessline 71
Reference: [Vercel - How we optimized package imports](https://vercel.com/blog/how-we-optimized-package-imports-in-next-js)
skills/typescript/references/module-avoid-circular-dependencies.md
- Network accessline 92
Reference: [Node.js Cycles Documentation](https://nodejs.org/api/modules.html#cycles)
skills/typescript/references/module-control-types-inclusion.md
- Network accessline 93
Reference: [TypeScript Performance Wiki](https://github.com/microsoft/TypeScript/wiki/Performance#controlling-types-inclusion)
skills/typescript/references/module-dynamic-imports.md
- Network accessline 78
Reference: [MDN Dynamic Import](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/import)
skills/typescript/references/module-use-type-imports.md
- Network accessline 81
Reference: [TypeScript 3.8 Release Notes](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-8.html#type-only-imports-and-export)
skills/typescript/references/runtime-avoid-object-spread-in-loops.md
- Network accessline 80
Reference: [V8 Object Shapes](https://mathiasbynens.be/notes/shapes-ics)
skills/typescript/references/runtime-cache-property-access.md
- Network accessline 66
Reference: [V8 Hidden Classes](https://v8.dev/blog/fast-properties)
skills/typescript/references/runtime-prefer-array-methods.md
- Network accessline 74
Reference: [You Don't Need Lodash](https://github.com/you-dont-need/You-Dont-Need-Lodash-Underscore)
skills/typescript/references/runtime-use-for-of-for-iteration.md
- Network accessline 89
Reference: [MDN for...of](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...of)
skills/typescript/references/runtime-use-set-for-lookups.md
- Network accessline 65
Reference: [MDN Set](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set)
skills/typescript/references/runtime-use-string-methods.md
- Network accessline 80
Reference: [MDN String Methods](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)
skills/typescript/references/safety-assertion-functions.md
- Network accessline 93
Reference: [TypeScript 3.7 Assertion Functions](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-7.html#assertion-functions)
skills/typescript/references/safety-const-assertions.md
- Network accessline 15
const config = { apiUrl: 'https://api.example.com', - Network accessline 16
apiUrl: 'https://api.example.com', - Network accessline 37
const config = { apiUrl: 'https://api.example.com', - Network accessline 38
apiUrl: 'https://api.example.com', - Network accessline 40
methods: ['GET', 'POST'] } as const // Type: { readonly apiUrl: 'https://api.example.com'; readonly retries: 3; readonly methods: readonly ['GET', 'POST'] } - Network accessline 42
// Type: { readonly apiUrl: 'https://api.example.com'; readonly retries: 3; readonly methods: readonly ['GET', 'POST'] } - Network accessline 78
Reference: [TypeScript 3.4 Const Assertions](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#const-assertions)
skills/typescript/references/safety-exhaustive-checks.md
- Network accessline 84
Reference: [TypeScript Handbook - Exhaustiveness Checking](https://www.typescriptlang.org/docs/handbook/2/narrowing.html#exhaustiveness-checking)
skills/typescript/references/safety-no-unchecked-indexed-access.md
- Network accessline 86
Reference: [TypeScript tsconfig - noUncheckedIndexedAccess](https://www.typescriptlang.org/tsconfig/noUncheckedIndexedAccess.html)
skills/typescript/references/safety-prefer-unknown-over-any.md
- Network accessline 21
async function fetchData(): Promise<any> { const response = await fetch('/api/data') - Network accessline 22
const response = await fetch('/api/data') - Network accessline 77
Reference: [TypeScript Handbook - Unknown](https://www.typescriptlang.org/docs/handbook/2/narrowing.html#the-unknown-type)
skills/typescript/references/safety-strict-null-checks.md
- Network accessline 72
Reference: [TypeScript Handbook - Strict Null Checks](https://www.typescriptlang.org/tsconfig#strictNullChecks)
skills/typescript/references/safety-use-type-guards.md
- Network accessline 86
Reference: [TypeScript Handbook - Narrowing](https://www.typescriptlang.org/docs/handbook/2/narrowing.html)
skills/typescript/references/tscfg-enable-incremental.md
- Network accessline 69
Reference: [TypeScript Performance Wiki](https://github.com/microsoft/TypeScript/wiki/Performance#incremental-project-emit)
skills/typescript/references/tscfg-erasable-syntax-only.md
- Network accessline 88
Reference: [TypeScript 5.8 - erasableSyntaxOnly](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-5-8.html)
skills/typescript/references/tscfg-exclude-properly.md
- Network accessline 87
Reference: [TypeScript Performance Wiki](https://github.com/microsoft/TypeScript/wiki/Performance#configuring-tsconfigjson-or-jsconfigjson)
skills/typescript/references/tscfg-isolate-modules.md
- Network accessline 80
Reference: [TypeScript Performance Wiki](https://github.com/microsoft/TypeScript/wiki/Performance#isolated-file-emit)
skills/typescript/references/tscfg-isolated-declarations.md
- Network accessline 73
Reference: [TypeScript 5.5 - Isolated Declarations](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-5-5.html#isolated-declarations)
skills/typescript/references/tscfg-project-references.md
- Network accessline 98
Reference: [TypeScript Performance Wiki](https://github.com/microsoft/TypeScript/wiki/Performance#using-project-references)
skills/typescript/references/tscfg-skip-lib-check.md
- Network accessline 65
Reference: [TypeScript Performance Wiki](https://github.com/microsoft/TypeScript/wiki/Performance#skipping-d-ts-checking)
skills/typescript/references/tscfg-strict-function-types.md
- Network accessline 65
Reference: [TypeScript 2.6 - Strict Function Types](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-6.html#strict-function-types)
skills/typescript/references/type-avoid-deep-generics.md
- Network accessline 81
Reference: [TypeScript Performance Wiki](https://github.com/microsoft/TypeScript/wiki/Performance)
skills/typescript/references/type-avoid-large-unions.md
- Network accessline 56
Reference: [TypeScript Performance Wiki](https://github.com/microsoft/TypeScript/wiki/Performance#preferring-base-types-over-unions)
skills/typescript/references/type-explicit-return-types.md
- Network accessline 15
export function fetchUserProfile(userId: string) { // Compiler must analyze entire function body to infer return type return fetch(`/api/users/${userId}`) - Network accessline 16
// Compiler must analyze entire function body to infer return type return fetch(`/api/users/${userId}`) .then(res => res.json()) - Network accessline 17
return fetch(`/api/users/${userId}`) - Network accessline 41
export function fetchUserProfile(userId: string): Promise<UserProfile> { return fetch(`/api/users/${userId}`) - Network accessline 42
return fetch(`/api/users/${userId}`) - Network accessline 66
Reference: [TypeScript Performance Wiki](https://github.com/microsoft/TypeScript/wiki/Performance#using-type-annotations)
skills/typescript/references/type-extract-conditional-types.md
- Network accessline 58
Reference: [TypeScript Performance Wiki](https://github.com/microsoft/TypeScript/wiki/Performance#using-type-aliases)
skills/typescript/references/type-interfaces-over-intersections.md
- Network accessline 42
Reference: [TypeScript Performance Wiki](https://github.com/microsoft/TypeScript/wiki/Performance#preferring-interfaces-over-intersections)
skills/typescript/references/type-limit-recursion-depth.md
- Network accessline 66
Reference: [TypeScript Performance Wiki](https://github.com/microsoft/TypeScript/wiki/Performance)
skills/typescript/references/type-simplify-mapped-types.md
- Network accessline 73
Reference: [TypeScript Performance Wiki](https://github.com/microsoft/TypeScript/wiki/Performance)
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Declared and executed: 2 facts
- Contacts registry.npmjs.org, which SKILL.md, the README and the plugin manifest do not mentionscripts/point-latest-at-rc.js:258High confidence
- Contacts fonts.gstatic.com, which SKILL.md, the README and the plugin manifest do not mentioncreate-skill/scripts/generate_report.py:40High confidence
Signal confidence: 498 facts
- Network access in prose of documentationdocs/CONTRIBUTING.md:22Low confidence
- Dangerous shell operation in code of documentationdocs/CONTRIBUTING.md:41Low confidence
- Network access in code of documentationdocs/CONTRIBUTING.md:41Low confidence
- Network access in prose of documentationdocs/CONTRIBUTING.md:44Low confidence
- Network access in code of documentationdocs/CONTRIBUTING.md:50Low confidence
- Network access in prose of documentationdocs/CONTRIBUTING.md:66Low confidence
- Network access in prose of documentationdocs/CONTRIBUTING.md:67Low confidence
- Network access in prose of documentationdocs/CONTRIBUTING.md:130Low confidence
- Network access in prose of documentationdocs/CONTRIBUTING.md:131Low confidence
- Network access in prose of documentationdocs/CONTRIBUTING.md:132Low confidence
- Network access in prose of documentationdocs/CONTRIBUTING.md:133Low confidence
- Network access in prose of documentationdocs/CONTRIBUTING.md:134Low confidence
- Network access in prose of documentationdocs/CONTRIBUTING.md:155Low confidence
- Network access in prose of documentationdocs/CONTRIBUTING.md:157Low confidence
- Network access in prose of documentationdocs/CONTRIBUTING.md:209Low confidence
- Network access in prose of documentationdocs/CONTRIBUTING.md:210Low confidence
- Network access in prose of documentationdocs/CONTRIBUTING.md:211Low confidence
- Network access in prose of documentationdocs/CONTRIBUTING.md:212Low confidence
- Network access in prose of documentationdocs/CONTRIBUTING.md:213Low confidence
- Network access in prose of documentationdocs/CONTRIBUTING.md:227Low confidence
- Network access in prose of documentationdocs/CONTRIBUTING.md:241Low confidence
- Network access in prose of documentationdocs/CONTRIBUTING.md:251Low confidence
- Network access in prose of documentationdocs/adr/0025-to-json-schema-escape-hatch.md:5Low confidence
- Network access in prose of documentationdocs/adr/0025-to-json-schema-escape-hatch.md:15Low confidence
- Network access in prose of documentationdocs/adr/0025-to-json-schema-escape-hatch.md:77Low confidence
- Network access in prose of documentationdocs/adr/0025-to-json-schema-escape-hatch.md:78Low confidence
- Network access in prose of documentationdocs/adr/0025-to-json-schema-escape-hatch.md:79Low confidence
- Network access in prose of documentationdocs/adr/0025-to-json-schema-escape-hatch.md:93Low confidence
- Network access in prose of documentationdocs/adr/0025-to-json-schema-escape-hatch.md:95Low confidence
- Executable script in a comment of a file that runsscripts/point-latest-at-rc.js:1Low confidence
- Access to secrets in a comment of a file that runsscripts/point-latest-at-rc.js:14Low confidence
- Access to secrets in code of a file that runsscripts/point-latest-at-rc.js:228High confidence
- Network access in code of a file that runsscripts/point-latest-at-rc.js:256High confidence
- Network access in code of a file that runsscripts/point-latest-at-rc.js:257High confidence
- Network access in code of a file that runsscripts/point-latest-at-rc.js:258High confidence
- Dangerous shell operation in code of a file that runsscripts/point-latest-at-rc.js:310High confidence
- Dangerous shell operation in code of a file that runsscripts/point-latest-at-rc.js:313High confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valuescripts/point-latest-at-rc.js:355Low confidence
- Access to secrets in code of a file that runsscripts/point-latest-at-rc.js:498High confidence
- Executable script in code of a file that runsscripts/sync-main.sh:1High confidence
- Network access in prose of the SKILL.mdbulletproof-react/SKILL.md:13Low confidence
- Network access in prose of documentationbulletproof-react/references/README.md:3Low confidence
- Network access in prose of documentationbulletproof-react/references/README.md:33Low confidence
- Network access in prose of documentationbulletproof-react/references/components-and-styling.md:87Low confidence
- Network access in prose of documentationbulletproof-react/references/components-and-styling.md:88Low confidence
- Network access in prose of documentationbulletproof-react/references/components-and-styling.md:89Low confidence
- Network access in prose of documentationbulletproof-react/references/components-and-styling.md:90Low confidence
- Network access in prose of documentationbulletproof-react/references/components-and-styling.md:96Low confidence
- Network access in prose of documentationbulletproof-react/references/components-and-styling.md:97Low confidence
- Network access in prose of documentationbulletproof-react/references/components-and-styling.md:98Low confidence
and 448 more
Only the first 500 facts are listed.
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Manifest .claude-plugin/marketplace.json | .claude/skills/<skill-name>/ |
| Codex | Native | Manifest .agents/AGENTS.md | .agents/skills/<skill-name>/ |
| Cursor | Native | Path .agents/platforms/.cursor/rules/arktype.mdc | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md packages/agent-plugin/skills/arkenv/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md packages/agent-plugin/skills/arkenv/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md packages/agent-plugin/skills/arkenv/SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.