agentleFS
piplabspiplabs/story-skills/CLAUDE.md

story-skills

CLAUDE.md4 starsChanged 9 months agoMITView on GitHub

AI-powered skills for Story Protocol development. This monorepo contains two marketplace skill packages: SDK (TypeScript) and Contracts (Solidity). All operations go through Nx: All packages use the @story-protocol scope. Two top-level skill packages for the skills.sh marketplace: Contains 4 sub-skills plus an umbrella SKILL.md: - SKILL.md — umbrella (setup + routing to sub-skills) - sdk-integration/SKILL.md — SDK methods, client modules, usage patterns - ip-registration/SKILL.md — IP Asset registration, metadata, SPG workflows - licensing/SKILL.md — PIL license terms, derivatives, license tokens…

The file

We split this CLAUDE.md into the rules it gives an agent

8 rules. About 0 are common, 3 are distinctive, and 5 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈3

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 5

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    All operations go through Nx:

    line 10
  2. Very specific:

    Run eval suite: npx promptfoo eval -c evals/suites/<skill-name>/promptfoo.yaml

    line 15
  3. Very specific:

    All packages use the @story-protocol scope.

    line 19
  4. Distinctive:

    Use conventional commits for changelogs

    line 61
  5. Distinctive:

    Write prompts that work with any LLM, not just Claude

    line 66
  6. Very specific:

    Avoid model-specific features in SKILL.md files

    line 67
  7. Very specific:

    Never use --- in .txt prompt files (Promptfoo treats as multi-prompt separator).

    line 79
  8. Very specific:

    Use {% raw %}...{% endraw %} to protect Nunjucks {% patterns in prompt files.

    line 81

≈ “Common” is an estimate: at least 1 in 5 of the 26,980 CLAUDE.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
CLAUDE.md

Story Protocol AI Skills

Overview

AI-powered skills for Story Protocol development. This monorepo contains two marketplace skill packages: SDK (TypeScript) and Contracts (Solidity).

Nx Usage

All operations go through Nx:

  • Validate all packages: npx nx run-many -t validate
  • Lint markdown: npx nx run-many -t lint-markdown
  • Validate specific package: npx nx run story-sdk:validate
  • Run eval suite: npx promptfoo eval -c evals/suites/<skill-name>/promptfoo.yaml

Package Scope

All packages use the @story-protocol scope.

Skill Package Architecture

Two top-level skill packages for the skills.sh marketplace:

story-sdk/ (TypeScript SDK)

Contains 4 sub-skills plus an umbrella SKILL.md:

  • SKILL.md — umbrella (setup + routing to sub-skills)
  • sdk-integration/SKILL.md — SDK methods, client modules, usage patterns
  • ip-registration/SKILL.md — IP Asset registration, metadata, SPG workflows
  • licensing/SKILL.md — PIL license terms, derivatives, license tokens
  • royalty-integration/SKILL.md — Royalty vaults, revenue claiming, payments

story-contracts/ (Solidity)

Single skill for smart contract interaction:

  • SKILL.md — Solidity contracts, Foundry testing, direct contract calls

Structure

Each skill package contains:

  • SKILL.md — skill instructions with YAML frontmatter
  • references/ — supplementary reference docs (per skill or shared)
  • package.json — npm package config
  • project.json — Nx project config (must have type:skill-package tag)

Installation (skills.sh)

# SDK skills (TypeScript developers)
npx skills add piplabs/story-skills@story-sdk --full-depth

# Smart contract skills (Solidity developers)
npx skills add piplabs/story-skills@story-contracts

Versioning

  • metadata.version in SKILL.md tracks skill content changes
  • package.json version tracks npm package releases
  • Use conventional commits for changelogs
  • Release tags: <package-name>@<version>

Agent-Agnostic Design

  • Write prompts that work with any LLM, not just Claude
  • Avoid model-specific features in SKILL.md files

Evals Framework (Promptfoo)

Each skill has an eval suite at evals/suites/<skill-name>/:

  • promptfoo.yaml — test configuration
  • prompt-wrapper.txt — prompt template injecting skill + references
  • cases/*.md — test scenarios
  • rubrics/*.txt — LLM grading criteria

Constraints

  • Never use --- in .txt prompt files (Promptfoo treats as multi-prompt separator). Use *** instead.
  • Rubric files MUST use .txt extension.
  • Use {% raw %}...{% endraw %} to protect Nunjucks {% patterns in prompt files.
  • Provider: anthropic:claude-sonnet-4-5-20250929, temperature 0.
  • Timeout: 120s per test case.
  • Pass rate: >=85% required in CI.

Validation

  • node scripts/validate-skill-package.cjs <package-dir> — validates skill package structure
  • node scripts/validate-docs.cjs — ensures every package/skill has docs pages
  • CI runs both with --require-evals flag

Story Protocol Context

Networks

NetworkChain IDRPC
Aeneid (testnet)1315https://aeneid.storyrpc.io
Mainnet1514https://mainnet.storyrpc.io

Key Contracts (same on both networks unless noted)

ContractAddress
IPAssetRegistry0x77319B4031e6eF1250907aa00018B8B1c67a244b
LicensingModule0x04fbd8a2e56dd85CFD5500A4A4DfA955B9f1dE6f
RoyaltyModule0xD2f60c40fEbccf6311f8B47c4f2Ec6b040400086
PILicenseTemplate0x2E896b0b2Fdb7457499B56AAaA4AE55BCB4Cd316
RegistrationWorkflows0xbe39E1C756e921BD25DF86e7AAa31106d1eb0424

SDK

  • Package: @story-protocol/core-sdk
  • Key export: StoryClient, WIP_TOKEN_ADDRESS, PILFlavor

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.