{
  "markdown": "# Open Circle Agent Skills\n\nTeach AI agents how to use [Valibot](https://valibot.dev) and [Formisch](https://formisch.dev/).\n\n## Contents\n\n- [What are Agent Skills?](#what-are-agent-skills)\n- [What These Skills Do](#what-these-skills-do)\n- [When to Use These](#when-to-use-these)\n- [Examples](#examples)\n- [Skills Included](#skills-included)\n- [Installation](#installation)\n- [Usage](#usage)\n- [Skill Structure](#skill-structure)\n- [Contributing](#contributing)\n- [About Open Circle](#about-open-circle)\n- [License](#license)\n\n## What are Agent Skills?\n\nAgent Skills are a lightweight, open format for extending AI agent capabilities with specialized knowledge and workflows. Each skill is a folder containing a `SKILL.md` file with metadata and instructions that help AI agents understand how to use specific tools and libraries.\n\nLearn more at [agentskills.io](https://agentskills.io)\n\n## What These Skills Do\n\nThese skills teach agents the correct patterns and best practices for using Valibot and Formisch.\n\n## When to Use These\n\nUse these skills if your agent system needs to:\n\n- Generate, validate, or reason about structured data with Valibot\n- Handle multi-step or stateful form workflows with Formisch\n\n## Examples\n\n### Valibot Schema\n\n```typescript\nimport * as v from \"valibot\";\n\nconst UserSchema = v.object({\n  name: v.pipe(v.string(), v.nonEmpty(\"Please enter your name.\")),\n  email: v.pipe(\n    v.string(),\n    v.nonEmpty(\"Please enter your email.\"),\n    v.email(\"The email address is badly formatted.\"),\n  ),\n  age: v.pipe(v.number(), v.minValue(13, \"You must be at least 13 years old.\")),\n});\n\nconst result = v.safeParse(UserSchema, data);\nif (result.success) {\n  console.log(result.output); // { name: string, email: string, age: number }\n} else {\n  console.log(result.issues);\n}\n```\n\n### Formisch Form (React)\n\n```tsx\nimport { Field, Form, useForm } from \"@formisch/react\";\nimport type { SubmitHandler } from \"@formisch/react\";\nimport * as v from \"valibot\";\n\nconst LoginSchema = v.object({\n  email: v.pipe(v.string(), v.email()),\n  password: v.pipe(v.string(), v.minLength(8)),\n});\n\nexport default function LoginPage() {\n  const loginForm = useForm({ schema: LoginSchema });\n\n  const handleSubmit: SubmitHandler<typeof LoginSchema> = (output) => {\n    console.log(output); // { email: string, password: string }\n  };\n\n  return (\n    <Form of={loginForm} onSubmit={handleSubmit}>\n      <Field of={loginForm} path={[\"email\"]}>\n        {(field) => (\n          <div>\n            <input {...field.props} value={field.input} type=\"email\" />\n            {field.errors && <div>{field.errors[0]}</div>}\n          </div>\n        )}\n      </Field>\n      <Field of={loginForm} path={[\"password\"]}>\n        {(field) => (\n          <div>\n            <input {...field.props} value={field.input} type=\"password\" />\n            {field.errors && <div>{field.errors[0]}</div>}\n          </div>\n        )}\n      </Field>\n      <button type=\"submit\">Login</button>\n    </Form>\n  );\n}\n```\n\n## Skills Included\n\n| Skill                        | Purpose                          | When to use                                              |\n| ---------------------------- | -------------------------------- | -------------------------------------------------------- |\n| [valibot](skills/valibot/)   | Schema definition and validation | Validating data structures, API responses, or user input |\n| [formisch](skills/formisch/) | Form state handling              | Managing multi-step forms or structured data collection  |\n\n## Installation\n\n> **Compatible with agents that support Agent Skills**\n\n### Claude Code\n\nAdd this repository as a plugin marketplace and install the skills you need:\n\n```bash\n/plugin marketplace add open-circle/agent-skills\n/plugin install valibot@open-circle\n/plugin install formisch@open-circle\n```\n\n### Other agents\n\nInstall the skills using the CLI:\n\n```bash\nnpx skills add open-circle/agent-skills\n```\n\nOr copy individual skill folders into your project's `.skills/` directory.\n\n## Usage\n\nActivation behavior varies by agent. Check if your agent supports Agent Skills and refer to its documentation.\n\n## Skill Structure\n\nEach skill folder contains:\n\n- **SKILL.md** — Instructions and metadata for the agent\n- **references/** — Additional documentation (optional)\n- **scripts/** — Executable code (optional)\n- **assets/** — Templates and resources (optional)\n\n## Contributing\n\nWe welcome contributions! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\n\n## About Open Circle\n\n[Open Circle](https://opencircle.dev) is a GitHub organization serving as a shared home for open-source projects that share a philosophy around modularity, type safety, and developer experience.\n\n### Projects\n\n- **[Valibot](https://valibot.dev)** — The modular and type safe schema library for validating structural data\n- **[Formisch](https://formisch.dev/)** — The modular and type-safe form library for any framework\n\n## License\n\nThis repository is licensed under the [MIT License](LICENSE.md).\n",
  "bytes": 5005,
  "sha": "a98c12c09e44a130b4b40811737920bab832238c6680ef07f8b14eacb95a7d01",
  "repo_slug": "open-circle/agent-skills",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/skl_open_circle_agent_skills_valibot_318bc146/readme"
}