AI coding agent skills for building applications on Freenet. Compatible with Claude Code and OpenCode.
Build decentralized applications on Freenet. Guides through:
- Designing contracts (shared, replicated state)
- Implementing delegates (private, local state)
- Building the UI (WebSocket connection to Freenet)
Based on River, a decentralized chat application.
Guidelines for creating high-quality Freenet pull requests. Includes:
- Four parallel review subagents (code-first, testing, skeptical, big-picture)
- Big-picture review catches "CI chasing" anti-patterns
- Test quality standards and regression prevention
- Worktree-based workflow
Methodology for debugging non-trivial problems:
- Hypothesis formation before code changes
- Parallel investigation with subagents
- Anti-patterns to avoid (jumping to conclusions, weakening tests)
- Test coverage gap analysis
The hooks/ directory contains two types of hooks for Freenet development:
File: hooks/hooks.json
Automatically runs cargo fmt and cargo clippy before Claude runs git commits. Included with the plugin - no setup required.
File: hooks/pre-commit
Runs cargo fmt and cargo clippy before git commits. Must be installed manually:
# From freenet-core repository
curl -fsSL https://raw.githubusercontent.com/freenet/freenet-agent-skills/main/hooks/pre-commit > .git/hooks/pre-commit
chmod +x .git/hooks/pre-commitSee hooks/README.md for full details and comparison.
Add the marketplace:
/plugin marketplace add freenet/freenet-agent-skillsThen install the plugin you need:
# For building apps on Freenet
/plugin install freenet-dapp-builder
# For contributing to Freenet core
/plugin install freenet-core-devOr browse available plugins via /plugin → Discover tab.
Option 1: Copy individual skills
git clone https://github.com/freenet/freenet-agent-skills.git
cp -r freenet-agent-skills/skills/dapp-builder ~/.claude/skills/Option 2: Symlink (easier to update)
git clone https://github.com/freenet/freenet-agent-skills.git ~/freenet-agent-skills
ln -s ~/freenet-agent-skills/skills/dapp-builder ~/.claude/skills/OpenCode automatically discovers skills from Claude-compatible paths:
git clone https://github.com/freenet/freenet-agent-skills.git ~/freenet-agent-skills
ln -s ~/freenet-agent-skills/skills/dapp-builder ~/.claude/skills/
ln -s ~/freenet-agent-skills/skills/pr-creation ~/.claude/skills/
ln -s ~/freenet-agent-skills/skills/systematic-debugging ~/.claude/skills/To include a skill in a specific project (shared with team):
mkdir -p .claude/skills
cp -r freenet-agent-skills/skills/dapp-builder .claude/skills/
git add .claude/skillsVerify installation: Ask your AI agent: "What skills are available?" - it should list the installed skills.
freenet-agent-skills/
├── .claude-plugin/
│ └── marketplace.json # Claude Code marketplace manifest
├── skills/
│ ├── dapp-builder/
│ │ ├── SKILL.md # Main skill definition
│ │ ├── README.md # Skill documentation
│ │ └── references/ # Detailed documentation
│ ├── pr-creation/
│ │ └── SKILL.md
│ └── systematic-debugging/
│ └── SKILL.md
├── hooks/
│ ├── hooks.json # Claude Code hooks (run before git commit)
│ ├── pre-commit # Git pre-commit hook for cargo fmt/clippy
│ └── README.md
├── agents/ # Subagent definitions (reviewers, etc.)
├── README.md
└── LICENSE
See CLAUDE.md for the current version and version history. When making changes:
- Update
.claude-plugin/marketplace.json→metadata.version - Update
CLAUDE.mdwith version number and changelog entry - Commit both files together
Skills follow the structure:
skill-name/
├── SKILL.md # Main instructions (required, with YAML frontmatter)
└── references/ # Detailed documentation loaded on-demand (optional)
SKILL.md files require YAML frontmatter:
---
name: skill-name # Must match directory name
description: Brief description of what the skill does
license: LGPL-3.0 # Optional
---LGPL-3.0