Setting up AI skill generation

§ 1Purpose

Configure the wskill so it projects into a Claude Code skill, and choose what the agent sees.

§ 2Flowchart

1. Configure the skill block2. Tag content for the skill3. Curate the skill navigation4. Build and install the skill

§ 3Steps

§ 3.11

§ 3.2Configure the skill block

wcl
// wskill.wcl
skill {
  allowed_tools = ["Bash", "Read"]
  summary { overview = ["What the skill does and when to use it."] }
  skill_param "$ARGUMENTS" { description = "..."  value = "..." }
  skill_boundary { always = ["..."]  never = ["..."] }
}

Add the single skill block in wskill.wcl. Its fields become SKILL.md's front matter and intro: the allowed_tools / disallowed_tools / disable_model_invocation permissions, a summary overview, invocation skill_params, and skill_boundary guardrails the agent must follow.

§ 3.32

§ 3.4Tag content for the skill

wcl
concept fast_forward { audience = :both  ... }   // book + skill
fact   port_table    { audience = :ai    ... }   // skill only

Every unit defaults to audience = :book, so it stays out of the skill. Mark the units the agent needs :ai (skill only) or :both (book and skill). Curate up — the skill stays lean because content has to opt in.

§ 3.53

§ 3.6Curate the skill navigation

SKILL.md is index-driven: add an index with audience = :ai (or :both) whose related lists the units the agent should reach. Each such index is inlined into SKILL.md as a section linking straight to those units. See *Building the wskill index*.

§ 3.74

§ 3.8Build and install the skill

console
$ wcl wdoc skill wdoc/skill/main.wcl --out out/skill
$ cp -r out/skill <repo>/.claude/skills/<name>

Render the skill folder with wcl wdoc skill — it writes SKILL.md plus references/*.md. Install it by copying out/skill into a repo's .claude/skills/<name>/; Building and installing the AI skill covers the install and how to verify the agent actually loads it.

Verification

wcl wdoc skill produces a SKILL.md whose reference section lists your :ai/:both indexes, with a references/ page per :ai/:both unit.