ワンクリックで
fabric-agent-skill-authoring
Author governed Fabric skills and evaluation contracts.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Author governed Fabric skills and evaluation contracts.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Delegate coding to xAI Grok Build CLI (features, PRs).
Configure and use Honcho memory with Fabric -- cross-session user modeling, multi-profile peer isolation, observation config, dialectic reasoning, session summaries, and context budget enforcement. Use when setting up Honcho, troubleshooting memory, managing profiles with Honcho peers, or tuning observation, recall, and dialectic settings.
Hyperliquid market data, account history, trade review.
Article illustrations: type × style × palette consistency.
Knowledge comics (知识漫画): educational, biography, tutorial.
Create HTML-based video compositions, animated title cards, social overlays, captioned talking-head videos, audio-reactive visuals, and shader transitions using HyperFrames. HTML is the source of truth for video. Use when the user wants a rendered MP4/WebM from an HTML composition, wants to animate text/logos/charts over media, needs captions synced to audio, wants TTS narration, or wants to convert a website into a video.
| name | fabric-agent-skill-authoring |
| description | Author governed Fabric skills and evaluation contracts. |
| version | 1.2.0 |
| author | Fabric |
| license | MIT |
| platforms | ["linux","macos","windows"] |
| metadata | {"fabric":{"tags":["skills","authoring","fabric","conventions","skill-md"],"related_skills":["plan","requesting-code-review"]}} |
There are two places a SKILL.md can live:
~/.fabric/skills/<maybe-category>/<name>/SKILL.md — personal, not shared. Created via skill_manage(action='create').<fabric-checkout>/skills/<category>/<name>/SKILL.md — committed and shipped with the package. Use write_file + git add. skill_manage(action='create') does NOT target this tree.<fabric-checkout>/skills/ (use patch for small edits, write_file for rewrites; skill_manage still works for patch on in-repo skills, but not for create)Source of truth: tools/skill_manager_tool.py::_validate_frontmatter. Hard requirements:
--- as the first bytes (no leading blank line).\n---\n before the body.name field present.description field present, ≤ 1024 chars (MAX_DESCRIPTION_LENGTH).---.Peer-matched shape used by every skill under skills/software-development/:
---
name: my-skill-name # lowercase, hyphens, ≤64 chars (MAX_NAME_LENGTH)
description: Use when <trigger>. <one-line behavior>.
version: 1.2.0
author: Fabric
license: MIT
metadata:
fabric:
tags: [short, descriptive, tags]
related_skills: [other-skill, another-skill]
---
version / author / license / metadata are NOT enforced by the legacy
frontmatter validator, but governed contract validation requires name and
version to agree with skill.contract.yaml. Every peer has these fields —
omit them and the skill sticks out.
MAX_SKILL_CONTENT_CHARS, ~36k tokens).software-development/ sit at 8-14k chars. Aim for that range. If you're pushing past 20k, split into references/*.md and reference them from SKILL.md.New first-party skills should add skill.contract.yaml and
evals/cases.yaml. Existing skills without them remain readable during the
migration, but are reported as legacy_unverified, never verified.
The contract declares identity, routing triggers and counter-triggers, compatibility, inputs and outputs, permissions, sources, budgets, outcomes, and the eval-suite path. It is a declaration, not an authority grant: listing a tool, file scope, network host, or secret does not make it available at runtime. Schema v1 is closed, so unknown policy-looking fields fail validation.
The eval manifest is data-only. It must cover all seven behavior classes:
positive_triggernegative_triggeroutput_contractsafetytool_useregressionbaselineUse the governed canary beside this file as the current peer shape. Keep eval
inputs representative but free of secrets; assertions may name required or
forbidden substrings, tools, approvals, and maximum tool calls. Every suite
must compare against a no-skill baseline. Each executable baseline declares a
unique baseline_for, repeats the paired case's exact input and effective
trial count, and expects selected: false. The manifest validator does not run
models or commands; a pure runner consumes closed observations, enforces case
and suite thresholds, records variance, and computes paired outcome lift.
Quarantined /learn and background-review drafts cannot promote on schema
validity alone. Their exact final tree is materialized privately, scanned
independently of skills.guard_agent_created, checked for fresh sources and
permission expansion, and bound to the full-batch review token. Supply closed
observations with:
fabric skills evaluate <pending-id> --observations observations.json
Then inspect /skills diff <pending-id> and explicitly approve that exact
reviewed batch. Appending any action invalidates both review and evaluation
attestations. skill_manage accepts root skill.contract.yaml and
evals/** for governed drafts; both path classes still reject traversal and
symlink redirects.
Every declared source needs an HTTPS URL, quoted ISO retrieved_at, and
nonnegative ttl_days. Expired sources leave an installed skill readable but
block governed promotion until refreshed.
A skill exists to make the agent's process more predictable. Predictability does not mean identical output every run; it means the agent reliably follows the same useful discipline.
Use these quality checks when writing or editing any skill:
SKILL.md; put branch-specific or bulky reference material in references/, templates/, or scripts/ and point to it only when needed.Common quality failures:
Every in-repo skill follows roughly:
# <Title>
## Overview
One or two paragraphs: what and why.
## When to Use
- Bulleted triggers
- "Don't use for:" counter-triggers
## <Topic sections specific to the skill>
- Quick-reference tables are common
- Code blocks with exact commands
- Fabric-specific recipes (tests via scripts/run_tests.sh, ui-tui paths, etc.)
## Common Pitfalls
Numbered list of mistakes and their fixes.
## Verification Checklist
- [ ] Checkbox list of post-action verifications
## One-Shot Recipes (optional)
Named scenarios → concrete command sequences.
Not every section is mandatory, but Overview + When to Use + actionable body + pitfalls are the minimum for the skill to feel like a peer.
skills/<category>/<skill-name>/SKILL.md
Categories currently in repo (confirm with ls skills/): autonomous-ai-agents, creative, data-science, devops, dogfood, email, gaming, github, leisure, mcp, media, mlops/*, note-taking, productivity, red-teaming, research, smart-home, social-media, software-development.
Pick the closest existing category. Don't invent new top-level categories casually.
ls skills/<category>/
Read 2-3 peer SKILL.md files to match tone and structure.agent/skill_contract.py and
agent/skill_evals.py if unsure.SKILL.md, skill.contract.yaml, and evals/cases.yaml with
write_file under skills/<category>/<name>/.fabric skills validate ./skills/<category>/<name> --require-contract
python scripts/skills-governance-audit.py
skill_view /
skills_list will not see the new skill until a new session. This is
expected, not a bug.metadata.fabric.related_skills unions both trees (skills/ in-repo and ~/.fabric/skills/) at load time. You CAN reference a user-local skill from an in-repo skill, but it won't resolve for other users who clone the repo fresh. Prefer referencing only in-repo skills from in-repo skills. If a frequently-referenced skill lives only in ~/.fabric/skills/, consider promoting it to the repo.
skill_manage(action='patch', name=..., old_string=..., new_string=...) works fine on in-repo skills.write_file the whole SKILL.md. skill_manage(action='edit') also works but requires supplying the full new content.write_file to skills/<category>/<name>/references/<file>.md, templates/<file>, or scripts/<file>. skill_manage(action='write_file') also works and enforces the references/templates/scripts/assets subdir allowlist.Using skill_manage(action='create') for an in-repo skill. It writes to ~/.fabric/skills/, not the repo tree. Use write_file for in-repo creation.
Leading whitespace before ---. The validator checks content.startswith("---"); any leading blank line or BOM fails validation.
Description too generic. Peer descriptions start with "Use when ..." and describe the trigger class, not the one task. "Use when debugging X" > "Debug X".
Forgetting the author/license/metadata block. Not validator-enforced, but every peer has it; omitting makes the skill look half-finished.
Writing a skill that duplicates a peer. Before creating, ls skills/<category>/ and open 2-3 peers. Prefer extending an existing skill to creating a narrow sibling.
Expecting the current session to see the new skill. It won't. The skill loader is initialized at session start. Verify in a fresh session or via skill_view using the exact path.
Letting skills accumulate sediment. A skill should get shorter or sharper over time. When adding a rule, remove the old wording it replaces; don't layer advice forever.
Writing no-op prose. "Be careful," "be thorough," and "use best practices" rarely change model behavior. Replace with a checkable completion criterion or a stronger leading word.
Linking to skills that don't exist in-repo. related_skills: [some-user-local-skill] works for you but breaks for other clones. Prefer only in-repo links.
Adding a contract without representative evals. A schema-valid empty gesture is not governance. Include both routing directions, safety/tool assertions, regression behavior, and the no-skill baseline.
skills/<category>/<name>/SKILL.md (not in ~/.fabric/skills/)---, closes with \n---\nname, description, version, author, license, metadata.fabric.{tags, related_skills} all presentskill.contract.yaml identity matches SKILL.md and declares closed permissions, sources, budgets, and outcomesevals/cases.yaml covers all seven categories and pairs a same-input, same-trial no-skill baseline with baseline_forfabric skills validate ./skills/<category>/<name> --require-contract passespython scripts/skills-governance-audit.py stays within the cached-index budget# Title → ## Overview → ## When to Use → body → ## Common Pitfalls → ## Verification Checklistrelated_skills references resolve in-repo (or are explicitly OK to be user-local)git add skills/<category>/<name>/ && git commit completed on the intended branch