Install
openclaw skills install company-skill-creatorCreate company-internal skills interactively. Use when users want to create a skill for internal company workflows, APIs, business processes, or tools. Guides the user through providing requirements, API docs, interface specs, reference materials, and scripts — auto-generating anything they don't have on hand. Make sure to use this skill whenever the user mentions creating a company skill, internal skill, work skill, or wants to automate a company workflow.
openclaw skills install company-skill-creatorCreate company-internal skills through an interactive interview process. This skill helps users turn their domain knowledge into reusable skills — even when they don't have formal documentation ready.
Company skills are different from general-purpose skills. They typically involve:
The key insight: users often have this knowledge in their heads but haven't formalized it. The skill creator's job is to extract that knowledge interactively, fill in the gaps, and produce a well-structured skill.
At a high level, the process goes like this:
Your job is to guide the user through each phase, being flexible about the order and knowing when to generate vs. when to ask.
Start by asking the user a few essential questions. Don't bombard them all at once — ask, listen, then follow up naturally.
Must-ask questions:
What should this skill do? — Get a concrete example. "I want Claude to query our user database" is better than "data access skill."
When should it trigger? — What would a user say to invoke it? Collect 3-5 example phrases. Include both formal ("query the user database for...") and casual ("can you look up...") phrasings.
What's the output? — Code? A report? A file? An API call result? A Slack message?
Who will use this? — Is this for engineers, PMs, data analysts? This affects the tone and level of detail.
This is the critical step that makes company skills different. Tell the user something like:
"To build a solid skill, I'll need a few things. You don't need all of these — just share whatever you have, and I'll generate the rest. Here's what helps most:"
Then ask about each category. Do not ask all at once — let the user respond to each before moving on.
Required materials (must have at least a verbal description):
| Category | What to ask for | If they don't have it |
|---|---|---|
| Requirements | User stories, spec docs, workflow diagrams, or just describe what the skill should do step by step | Extract from conversation and write up as structured requirements |
| API / Interface | Swagger/OpenAPI specs, API docs URLs, curl examples, SDK documentation, or just endpoint names and parameters | Generate a stub reference doc based on their verbal description; mark guessed parts with ⚠️ 待确认 (to be confirmed) |
| Data / Schema | Database schemas, table descriptions, field lists, sample queries, example data files | Generate a schema reference from their description; note any guessed fields |
| Scripts | Existing scripts, utilities, helper tools the team already uses | Write the scripts from scratch based on requirements |
| References | Links to internal docs, coding standards, business logic rules, known edge cases | Generate reference docs from the interview; flag sections that need SME review |
| Templates | Report templates, code scaffolds, configuration files, message formats | Create templates from examples the user describes |
How to phrase this to the user:
Frame it as a collaborative process. The user is the domain expert; Claude is the skill architect. The user provides the raw knowledge in whatever form they have it; Claude organizes and fills gaps.
For each category the user says they have materials for:
For each category they don't have materials for:
Before writing anything, summarize what you've gathered:
"Here's what I understand so far:
- Skill name: [proposed kebab-case name]
- Purpose: [one-line summary]
- Inputs: [what the user provides]
- Outputs: [what the skill produces]
- Materials provided: [list what the user gave you]
- To be generated: [list what you'll create from scratch]
Does this look right? Anything to add or change?"
Use the scripts/init_skill.py script to create the directory structure:
python <path-to-company-skill-creator>/scripts/init_skill.py <skill-name> --path <output-directory>
This creates:
skill-name/
├── SKILL.md (with frontmatter template)
├── scripts/
│ └── __init__.py
├── references/
└── assets/
Based on what the user couldn't provide, generate the necessary files. Work in this priority order:
1. Scripts first — If the skill needs to interact with an API, format data, or automate a repetitive task, write the scripts now. Put them in scripts/. These should be:
2. References next — Create reference documents in references/:
⚠️ 待确认 so the user can review3. Assets last — Templates, config files, boilerplate. Put in assets/.
For every generated file, decide the confidence level:
| Confidence | Marking | Meaning |
|---|---|---|
| High | No mark | Based on concrete user input, likely correct |
| Medium | ⚠️ 待确认 on specific lines | Reasonable guess but user should verify |
| Low | ⚠️ 待确认 in file header | Mostly inferred, user must review before use |
Tell the user clearly which files need their review and which are ready to go.
Now compose the SKILL.md. This is the heart of the skill — follow the same patterns as skill-creator but tuned for company skills.
---
name: <kebab-case-name>
description: <what it does AND when to trigger. Include 3-5 concrete trigger examples. Make it slightly pushy — err on the side of triggering. Max 1024 chars.>
---
Description writing rules:
# <Skill Title>
## Overview
<1-2 sentences about what this skill does and why it exists.>
## Quick start
<The most common use case, with a concrete example.>
## Workflow
<Step-by-step instructions. Use imperative mood. Explain WHY, not just WHAT.>
## API / Tool reference
<Pointer to references/ files. Don't duplicate — just link.>
## Output format
<What the skill should produce. Use templates where helpful.>
## Edge cases & known issues
<Things the user mentioned during the interview.>
Explain the "why" — Company processes often have historical reasons. The skill should capture these so Claude understands context, not just rules.
Progressive disclosure is critical — Company skills often have large reference files (API docs, schemas). Keep SKILL.md lean; put details in references/ with clear pointers.
Don't duplicate information — If a schema is in references/schema.md, don't summarize it in SKILL.md. Just link to it.
Use the company's language — If the team says "workspace" not "project", use "workspace" throughout.
Scripts over instructions — If a task requires deterministic behavior (API calls, data transforms), provide a script rather than text instructions. Scripts don't consume context window when executed.
Mark uncertainty — If you're unsure about a business rule or API behavior, note it with ⚠️ 待确认.
Walk the user through what was created:
Ask targeted questions:
Apply feedback immediately. If the user has substantial changes, make them and present again. If the changes are minor, note them and move on.
Run the validation script:
python <path-to-company-skill-creator>/scripts/quick_validate.py <path-to-skill>
Fix any issues it reports.
python <path-to-company-skill-creator>/scripts/package_skill.py <path-to-skill>
This produces a .skill file. Tell the user where it is and how to install it.
Present a summary to the user:
✅ Skill created: <skill-name>
📁 Location: <path>
📦 Package: <skill-name>.skill
⚠️ Needs review: <list of files with unconfirmed content>
📋 Next steps:
1. Review files marked with ⚠️ 待确认
2. Install the .skill file
3. Test with a real task
4. Come back to iterate if needed
If the user is in a hurry or the skill is simple, you can compress the workflow:
Skip the formal interview steps. Trust your judgment on when to use quick mode vs. full interview.
Company skill creators work with people who may not be technical writers. Adjust your communication:
Always be encouraging. Users often feel their materials aren't "good enough" — reassure them that verbal descriptions and rough notes are perfectly fine starting points.
If the user has a well-written specification document, API docs, and sample code:
If the user says "I want a skill for X" but has no materials:
If the user has internal wiki pages, READMEs, or runbooks they want turned into a skill:
references/ filesagents/interviewer.md — Detailed interview prompts and question templates for different skill types (API skills, data skills, workflow skills, template skills)references/company-context.md — Template for capturing company-specific context (tech stack, team structure, common workflows)scripts/init_skill.py — Scaffold a new skill directory with the standard structurescripts/quick_validate.py — Validate SKILL.md frontmatter formatscripts/package_skill.py — Package a skill folder into a .skill fileThat's it. The most important thing: extract what the user knows, generate what they don't have, and always flag what needs review. A company skill with a few ⚠️ 待确认 marks is far more useful than no skill at all.