Functional Skill Creator

The fskill-creator skill splits a long SKILL.md into functions with explicit inputs and outputs, tests and a run log

  • 256 ★ on the repository
  • Last commit
  • MIT
Skill

Extended access

Why this level

  • The skill writes the files of the new skill into the chosen folder and runs its own Node.js scripts
  • The run log stores function inputs and outputs, which may contain your working data
All reasons and checks

agi-comming/functional-skill-creator

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add skills/functional-skill-creator

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • The skill writes the files of the new skill into the chosen folder and runs its own Node.js scripts
  • The run log stores function inputs and outputs, which may contain your working data

This is third-party code. Review the repository files before installing.

What it does

fskill-creator handles two tasks: creating a skill from a workflow description and migrating an existing one. Each step becomes a function with explicit inputs and outputs in its own `functions/` file. `SKILL.md` coordinates function calls. Shared rules live in `references/`, while deterministic parsing and format validation belong in `scripts/`. The generated skill can include a run log with inputs, outputs, token counts estimated from text length and timing, plus test-case files. Local logs go to `logs/runs/`, and test cases come from `testcases/`. Log and test assets are generated by default and can be omitted with `include_report` and `include_unittest`; logging itself starts disabled. Migration reads the entire old skill directory, including references, scripts and adjacent files. It proposes function boundaries and exposes input/output mismatches previously hidden in the instructions.

Who it is for. For authors of growing skills who need to split instructions by task and retain examples for checking changes.

Good fit when

  • A skill has grown, rules and edge cases pile up in `SKILL.md` and `references/`, and editing it blind feels dangerous
  • Parsing, formatting and validation should move out of the prompt into scripts that behave the same on every run
  • After a failed run you need to find the function that broke from the recorded input, output and timing
  • You want to turn real good and bad runs into a test suite so that fixing one function does not break the others
  • An old skill has to move into the modular structure with `/fskill-creator migrate <path>`

Not a fit when

  • The skill is short or already split cleanly into modules: a function structure would only add files
  • Your tests need an agent run or a model call: the built-in test runner compares function output with expectations and calls no models
  • You need a ready skill for a specific job: fskill-creator creates and migrates skills but ships no workflows of its own
  • You need stable file formats: this is version 0.1.0 alpha and script conventions may change before 1.0

Example request

/fskill-creator migrate ./skills/release-notes and show how to split it into functions

Limitations

Version 0.1.0 is alpha, so formats may change. Scripts require Node.js 20 or later. Installation adds the skill; slash-command invocation depends on the client. The license is MIT.

The test runner compares saved `actual_output` or `mock_output` against expected output without calling a model. If both fields are missing, it compares expected output with itself. Such a passing check does not establish that the skill works. Regression checks need real run outputs.

The `report_mode=remote` option sends inputs and outputs to a configured endpoint. Redacting named fields cannot guarantee removal of secrets from arbitrary text; inspect logs before storing or sending them.

How to disable. Delete the fskill-creator folder from the agent skills directory: the project folder for an install without `-g`, the agent home directory with `-g`. Skills you created with it live elsewhere and keep working.

FAQ

How do I install fskill-creator in Claude Code?

The command `npx skills add AGI-comming/functional-skill-creator --skill fskill-creator -y` installs the skill through skills.sh. The `-a <agent>` flag picks one agent, and `-g` turns on a global install if the agent supports it.

What is a functional skill?

It is a skill where each step is a function with an input and an output and `SKILL.md` only controls the order. Shared rules sit in `references/`, deterministic logic in `scripts/`, and check scenarios in `testcases/`.

How do I migrate an old skill into this structure?

Call `/fskill-creator migrate <path to the skill folder>`. The skill reads every file in the folder, proposes a function split and lists the input and output mismatches it finds. You then fix the contracts, add tests using actual run results and check them.

What does the run log record?

In `report_mode=local` each function writes a JSONL line to `logs/runs/` with input, output, token counts estimated from text length and duration. The `off`, `local` and `remote` modes switch recording.

Should I rewrite a short skill this way?

No. If the skill is concise or already split cleanly into modules, the functional structure adds nothing. It pays off for skills that evolve for a long time and accumulate rules.

Discussion

No questions or reviews yet.

Skills

A skill that helps an agent author other skills to the agentskills.io spec: structure, metadata, progressive disclosure and validation

SkillMinimal access2.3KRepository stars

A meta-skill that takes a vague idea to a finished agent skill: it designs, writes the files, checks them and refines by evidence

SkillExtended access250Repository stars

A doctor skill for agent skills that picks an architecture, audits against 21 red lines and returns a report with line references

SkillExtended access267Repository stars

A meta-skill that folds rules scattered across AGENTS.md, CLAUDE.md and Cursor files into one project skill with task routes.

PluginExtended access622Repository stars

A meta-skill that turns a workflow into an agent skill: prior-art search, trigger evaluation and publication to GitHub

SkillBroad access391Repository stars

A skill for creating skills that proves them by behavior: before-and-after runs, regression evals and ecosystem audit

SkillExtended access918Repository stars

README in short

Alongside the creation and migration skill, the repository includes a `basic-skill` template and an example that turns meeting notes into tasks. They offer a structural reference before migrating your own skill.

README badge

Original SKILL.md

---
name: fskill-creator
description: Create, maintain, or migrate functional skills; supports creating from a requirement brief and migrating an existing legacy skill directory into a functional skill structure.
---

# fskill-creator

## Goal

Unify the create and migrate lanes to produce a self-contained, reviewable, testable functional agent skill directory. The main skill handles routing, blueprint normalization, shared artifact generation, runtime capability provisioning, file writing, and validation; sub-skills only handle pre-analysis for their respective input forms.

Use this skill when the user wants to "generate a functional skill", "create a functional skill", "add functions to an existing functional skill", or "migrate an existing legacy skill directory into a functional skill".

## Principles

- The main `SKILL.md` only orchestrates the shared create / migrate / enhance / validate workflow.
- Create and migrate are two pre-lanes; they must first converge into a unified `skill_blueprint`.
- Function-specific behavior lives in `functions/*.md`; create / migrate specific pre-behavior lives in `sub-skills/*/functions/*.md`.
- Shared vocabulary, policies, and schemas live in `references/*.md`.
- Deterministic parsing, formatting, validation, and mechanical transforms live in `scripts/`.
- Report, unit test, viewer, and testcase capabilities are maintained only once in the main skill, and vendored into the target skill by `add_runtime_capabilities`.
- Preserve user-provided domain constraints; the migrate lane must also preserve legacy behavior evidence.
- When the user has not approved direct modification, generated files should be treated as proposals.

## Sub-Skills

| Sub-skill | When | Responsibility | Output |
|---|---|---|---|
| `sub-skills/create` | User provides a new skill brief or wants to enhance an existing functional skill | Normalize requirements, target path, inputs/outputs, constraints, and viewer choices | `create_context` |
| `sub-skills/migrate` | User provides a legacy skill directory, monolithic skill content, or a migration request | Load the legacy skill package, identify behaviors that must be preserved, propose function boundaries and evidence | `migration_context` |

Sub-skills do not directly write final target skill files. Their output must go through `normalize_skill_blueprint` before entering the shared artifact pipeline.

## References

| Resource | Load Timing | Purpose |
|---|---|---|
| `shared_glossary` | On demand | Stable terminology and cross-lane field semantics. |
| `script_rules` | Before designing or drafting scripts | Rules for deciding whether deterministic work belongs in `scripts/`. |
| `sub-skills/create` | Create lane | Form `create_context` from user brief. |
| `sub-skills/migrate` | Migrate lane | Form `migration_context` from a legacy skill directory. |

## External Inputs

| Field | Source | Description |

Report a problem