blocklet-converter
Converts static web or Next.js projects into ArcBlock blocklets using provided DID. Analyzes project structure, generates configuration files, and validates setup. Requires blocklet DID as parameter.
Best use case
blocklet-converter is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Converts static web or Next.js projects into ArcBlock blocklets using provided DID. Analyzes project structure, generates configuration files, and validates setup. Requires blocklet DID as parameter.
Teams using blocklet-converter should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/blocklet-converter/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How blocklet-converter Compares
| Feature / Agent | blocklet-converter | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Converts static web or Next.js projects into ArcBlock blocklets using provided DID. Analyzes project structure, generates configuration files, and validates setup. Requires blocklet DID as parameter.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Blocklet Converter
Converts static web projects and Next.js applications into ArcBlock blocklets with proper configuration and validation.
## Parameters
**`did`** (required): Pre-generated blocklet DID (format: `z8ia...`)
Example: `"Convert this project to blocklet using DID z8ia4e5vAeDsQEE2P26bQqz9oWR1Lxg9qUMaV"`
If missing or invalid, exit immediately with error message: "Blocklet DID parameter is required."
## Workflow
### 1. Project Analysis
**Skip directories**: `node_modules/`, `.pnpm/`, `.yarn/`, `.cache/`, `.turbo/`, `bower_components/`
#### Verify Web Application Exists
Check for ANY of:
- `package.json` with web-related dependencies
- `index.html` in root, `public/`, or `src/` or common locations
- Web framework config (`vite.config.*`, `webpack.config.*`, `next.config.*`, etc.)
**If none found → EXIT** with error message: "No web application detected."
#### Detect Project Type
Check `package.json` dependencies for:
- **Next.js**: `next` in dependencies → **Next.js project**
- **Backend frameworks**: express, koa, fastify, nest, etc. → **EXIT** with error: "Only static webapp and next.js projects are supported."
- **Otherwise** → **Static webapp**
#### Extract & Emit Metadata (Early)
**Immediately after confirming project type**, extract metadata from `package.json`:
- `title`: Human-friendly project name suitable for public display (e.g., `my-cool-app` → `My Cool App`)
- `description`: A clear, non-technical description for end users. If package.json description is too technical, rewrite it to be user-friendly.
**Emit using the protocol below**, then continue with the workflow:
```
<<<BLOCKLET_PROJECT>>>
{"title": "...", "description": "..."}
<<<END_BLOCKLET_PROJECT>>>
```
#### Build (if build script exists)
```bash
bun install && bun run build
```
**If either fails → EXIT** with error output.
#### Locate Output Directory
**For Next.js projects**: Output directory is always `.next` — skip detection.
**For static webapps**: Find `index.html` in: `dist/` → `build/` → `out/` → `public/` → `./`, or any other common locations. **If not found → EXIT** with error message: "No index.html entry point found."
#### Confirm Output Directory
Verify the output directory exists and contains expected files before proceeding.
### 2. Asset Preparation
- **README.md**: If missing, generate from `{baseDir}/templates/README-template.md`
- **logo.png**: If missing, copy from `{baseDir}/assets/default-blocklet-logo.png`
- **index.js** (Next.js only): Copy `{baseDir}/assets/nextjs-entry.txt` to project root as `index.js`
### 3. Generate blocklet.yml
**For Next.js projects**: Use template from `{baseDir}/templates/nextjs-blocklet.yml`
**For static webapps**: Use template from `{baseDir}/templates/static-blocklet.yml`
Populate with:
- `did` and `name`: Use provided DID
- `title`: Human-readable project name
- `description`: From package.json
### 4. Verification
```bash
blocklet meta
```
**For Next.js projects**:
```bash
blocklet bundle --simple --create-release --external="*"
```
**For static webapps**:
```bash
blocklet bundle --create-release
```
Fix any errors and retry.
### 5. Finalization
**Do NOT output any summary or recap after completion.** Simply end silently after successful verification. The tool outputs already provide sufficient feedback to the user.
## Error Reference
See `{baseDir}/errors.md` for all error conditions and suggestions.
## Supporting Files
- `assets/default-blocklet-logo.png` - Default logo
- `assets/nextjs-entry.txt` - Next.js entry point sample
- `templates/static-blocklet.yml` - Static webapp config template
- `templates/nextjs-blocklet.yml` - Next.js config template
- `templates/README-template.md` - README template
- `examples.md` - Workflow examples
- `errors.md` - Error reference
`{baseDir}` resolves to the skill's installation directory.
## Output Protocol
This skill emits structured data that callers can parse programmatically.
### Project Metadata Event
Emitted immediately after project validation succeeds (before build):
```
<<<BLOCKLET_PROJECT>>>
{"title": "...", "description": "..."}
<<<END_BLOCKLET_PROJECT>>>
```
| Field | Type | Description |
|-------|------|-------------|
| `title` | string | Human-friendly project name for public display |
| `description` | string | Non-technical description for end users |Related Skills
onnx-converter
Onnx Converter - Auto-activating skill for ML Deployment. Triggers on: onnx converter, onnx converter Part of the ML Deployment skill category.
file-format-converter
File Format Converter - Auto-activating skill for Data Pipelines. Triggers on: file format converter, file format converter Part of the Data Pipelines skill category.
markdown-converter
Convert documents and files to Markdown using markitdown. Use when converting PDF, Word (.docx), PowerPoint (.pptx), Excel (.xlsx, .xls), HTML, CSV, JSON, XML, images (with EXIF/OCR), audio (with transcription), ZIP archives, YouTube URLs, or EPubs to Markdown format for LLM processing or text analysis.
blocklet-updater
Creates a new release for a blocklet project by bumping version, building, and bundling. Use when asked to "create a new release", "bump and bundle", or "update blocklet version".
file-converter
This skill handles file format conversions across documents (PDF, DOCX, Markdown, HTML, TXT), data files (JSON, CSV, YAML, XML, TOML), and images (PNG, JPG, WebP, SVG, GIF). Use when the user requests converting, transforming, or exporting files between formats. Generates conversion code dynamically based on the specific request.
Daily Logs
Record the user's daily activities, progress, decisions, and learnings in a structured, chronological format.
Socratic Method: The Dialectic Engine
This skill transforms Claude into a Socratic agent — a cognitive partner who guides
Sokratische Methode: Die Dialektik-Maschine
Dieser Skill verwandelt Claude in einen sokratischen Agenten — einen kognitiven Partner, der Nutzende durch systematisches Fragen zur Wissensentdeckung führt, anstatt direkt zu instruieren.
College Football Data (CFB)
Before writing queries, consult `references/api-reference.md` for endpoints, conference IDs, team IDs, and data shapes.
College Basketball Data (CBB)
Before writing queries, consult `references/api-reference.md` for endpoints, conference IDs, team IDs, and data shapes.
Betting Analysis
Before writing queries, consult `references/api-reference.md` for odds formats, command parameters, and key concepts.
Research Proposal Generator
Generate high-quality academic research proposals for PhD applications following Nature Reviews-style academic writing conventions.