Brainstorming
xpinjection/test-driven-spring-boot
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior.
The authoritative skill lifecycle state model including container states, version states, review workflow states, visibility overlay, and governance actions.
$ npx skills add iflytek/skillhub --skill skill-lifecycle -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install iflytek/skillhub skill-lifecycle --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/iflytek/skillhub.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/skill-lifecycle .claude/skills/skill-lifecycle && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "skill-lifecycle" agent skill from https://github.com/iflytek/skillhub/tree/main/.agents/skills/skill-lifecycle into .claude/skills/skill-lifecycle/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-lifecycle", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/iflytek/skillhub/tree/main/.agents/skills/skill-lifecycleType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add iflytek/skillhub --skill skill-lifecycle -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install iflytek/skillhub skill-lifecycle --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/iflytek/skillhub.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/skill-lifecycle .agents/skills/skill-lifecycle && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "skill-lifecycle" agent skill from https://github.com/iflytek/skillhub/tree/main/.agents/skills/skill-lifecycle into .agents/skills/skill-lifecycle/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-lifecycle", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add iflytek/skillhub --skill skill-lifecycle -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install iflytek/skillhub skill-lifecycle --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/iflytek/skillhub.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/skill-lifecycle .cursor/skills/skill-lifecycle && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "skill-lifecycle" agent skill from https://github.com/iflytek/skillhub/tree/main/.agents/skills/skill-lifecycle into .cursor/skills/skill-lifecycle/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-lifecycle", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/iflytek/skillhub.git --path .agents/skills/skill-lifecycle--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add iflytek/skillhub --skill skill-lifecycle -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install iflytek/skillhub skill-lifecycle --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/iflytek/skillhub.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/skill-lifecycle .gemini/skills/skill-lifecycle && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "skill-lifecycle" agent skill from https://github.com/iflytek/skillhub/tree/main/.agents/skills/skill-lifecycle into .gemini/skills/skill-lifecycle/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-lifecycle", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install iflytek/skillhub skill-lifecycleInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add iflytek/skillhub --skill skill-lifecycle -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/iflytek/skillhub.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/skill-lifecycle .github/skills/skill-lifecycle && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "skill-lifecycle" agent skill from https://github.com/iflytek/skillhub/tree/main/.agents/skills/skill-lifecycle into .github/skills/skill-lifecycle/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-lifecycle", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add iflytek/skillhub --skill skill-lifecycle -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install iflytek/skillhub skill-lifecycle --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/iflytek/skillhub.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/skill-lifecycle .opencode/skills/skill-lifecycle && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "skill-lifecycle" agent skill from https://github.com/iflytek/skillhub/tree/main/.agents/skills/skill-lifecycle into .opencode/skills/skill-lifecycle/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-lifecycle", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skill-lifecycleThe authoritative skill lifecycle state model including container states, version states, review workflow states, visibility overlay, and governance actions.
Skill Lifecycle is an agent skill from iflytek/skillhub. The authoritative skill lifecycle state model including container states, version states, review workflow states, visibility overlay, and governance actions. Ensures agents don't introduce invalid states or transitions.
Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It works with Java. The repository describes itself as: Self-hosted, open-source agent skill registry for enterprises. Publish & version skill packages, govern with RBAC and audit logs, deploy on-premise with Docker or Kubernetes. The licence is Apache-2.0.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 7352597. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Skill Lifecycle loads about 1.7k tokens when it runs. Until then it costs about 59 tokens; SKILL.md has 646 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from iflytek/skillhub at commit 7352597, republished under its Apache-2.0 licence (© iflytek). 646 words, ~1,716 tokens.
.claude/skills/skill-lifecycle/SKILL.md (or your agent's skills folder).Use this skill when:
Enum SkillStatus (domain/skill/SkillStatus.java):
| Value | Meaning |
|---|---|
ACTIVE | Skill is operational and can have versions published |
HIDDEN | Skill hidden by platform governance (design doc says prefer boolean hidden flag instead) |
ARCHIVED | Skill archived by owner/namespace admin, cannot publish new versions |
Design-vs-code note: docs/14-skill-lifecycle.md specifies hidden should be a governance
overlay (boolean flag) rather than a lifecycle enum state. The current code still defines
SkillStatus.HIDDEN. New code should use the skill.hidden boolean field, not the enum value.
Enum SkillVersionStatus (domain/skill/SkillVersionStatus.java):
| Value | Meaning |
|---|---|
DRAFT | Non-public draft, can resubmit or delete |
SCANNING | Undergoing security scan |
SCAN_FAILED | Security scan failed |
UPLOADED | Uploaded but not yet submitted for review (or withdrawn from review) |
PENDING_REVIEW | Frozen pending reviewer action |
PUBLISHED | Currently distributable |
REJECTED | Review denied, retained |
YANKED | Was published, withdrawn from distribution |
Enum ReviewTaskStatus (domain/review/ReviewTaskStatus.java):
| Value | Meaning |
|---|---|
PENDING | Awaiting reviewer |
APPROVED | Reviewer approved |
REJECTED | Reviewer rejected |
Enum SkillVisibility (used in SkillPublishService):
| Value | Publish Path |
|---|---|
PUBLIC | Creates PENDING_REVIEW version, review task, security scan |
NAMESPACE_ONLY | Same as PUBLIC but limited visibility scope |
PRIVATE | Goes directly to UPLOADED status, no review task |
SUPER_ADMIN role bypasses review — versions go directly to PUBLISHED.
Skill.latestVersionId is only the latest published pointer:
PUBLISHED versionnull if no published version existslatest tag auto-follows this pointer (read-only)PUBLISHED version, or null| Action | From | To | Notes | Source |
|---|---|---|---|---|
| First upload (PUBLIC/NAMESPACE_ONLY) | — | PENDING_REVIEW | Review task created | SkillPublishService |
| First upload (SUPER_ADMIN) | — | PUBLISHED | Direct publish, SkillPublishedEvent emitted | SkillPublishService |
| First upload (PRIVATE) | — | UPLOADED | No review task, latestVersionId updated | SkillPublishService |
| Review approve | PENDING_REVIEW | PUBLISHED | Updates latestVersionId | Review workflow |
| Review reject | PENDING_REVIEW | REJECTED | Version retained | Review workflow |
| Withdraw review | PENDING_REVIEW | UPLOADED | Deletes pending ReviewTask | SkillGovernanceService.withdrawPendingVersion |
| Yank | PUBLISHED | YANKED | Recalculates latestVersionId | SkillGovernanceService.yankVersion |
| Hide | — | hidden=true | Independent overlay | SkillGovernanceService.hideSkill |
| Restore | — | hidden=false | Independent overlay | SkillGovernanceService.unhideSkill |
| Archive | ACTIVE | ARCHIVED | SkillStatusChangedEvent emitted | SkillGovernanceService.archiveSkill |
| Unarchive | ARCHIVED | ACTIVE | SkillStatusChangedEvent emitted | SkillGovernanceService.unarchiveSkill |
| New publish (existing pending) | PENDING_REVIEW | UPLOADED | Auto-withdraw + delete review task | SkillPublishService |
| Delete version | DRAFT/REJECTED/SCAN_FAILED/UPLOADED | — | Last version protected | SkillGovernanceService.deleteVersion |
When yanking the current latestVersionId (SkillGovernanceService):
PUBLISHED versions for the skillpublishedAt DESC, then createdAt DESC, then id DESClatestVersionId to the top result, or null if none remainRead models (detail, my-skills, favorites, search) use *QueryRepository patterns:
headlineVersion — Main display version for the pagepublishedVersion — Latest published versionownerPreviewVersion — Pending review version (visible to owner/namespace admin)resolutionMode — PUBLISHED, OWNER_PREVIEW, or NONEPublic browsing, install, download, search only use publishedVersion.
| Action | Who |
|---|---|
| Withdraw review | Submitter only |
| Delete version | Owner or namespace admin, only DRAFT/REJECTED/SCAN_FAILED/UPLOADED |
| Archive/unarchive | Owner or namespace admin (ADMIN or OWNER role) |
| Hide/restore | Platform governance (no permission check in code) |
| Yank | Platform governance (no permission check in code) |
| Publish PUBLIC skill | Namespace member (or SUPER_ADMIN) |
| Publish PRIVATE skill | Namespace member (or SUPER_ADMIN) |
SkillGovernanceService.deleteVersion enforces:
DRAFT, REJECTED, SCAN_FAILED, or UPLOADED versions can be deletedbundle.zip)latestVersionId if the deleted version was the pointer| Event | When Emitted |
|---|---|
SkillStatusChangedEvent | Archive or unarchive |
SkillPublishedEvent | SUPER_ADMIN direct publish |
SkillVersionYankedEvent | Yank action |
ReviewSubmittedEvent | Create review task for PUBLIC/NAMESPACE_ONLY |
SkillStatus.HIDDEN directly — use skill.setHidden(true) via SkillGovernanceService insteadlatestVersionId after yank or version deletionconfirmWarnings two-step publish flow (warnings require explicit confirmation)PRIVATE visibility skips review© iflytek, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/skill-lifecycle of iflytek/skillhub.
Open the folder on GitHubat commit 7352597
Skill Lifecycle next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Skill Lifecycle this skilliflytek/skillhub | 5.2k | — | ~1.7k | Automated safety check: Pass | Apache-2.0 | |
| Brainstormingxpinjection/test-driven-spring-boot | 112 | 54 repos | ~2.6k | Automated safety check: Pass | MIT | |
| Android API Diffgkd-kit/gkd | 43k | — | ~796 | Automated safety check: Pass | GPL-3.0 | |
| Video Cover Imageitwanger/toBeBetterJavaer | 18k | — | ~3.3k | Automated safety check: Pass | None | |
| Lancedb Update Lance Dependencylancedb/lancedb | 12k | — | ~1.1k | Automated safety check: Pass | Apache-2.0 | |
| Java SDK E2E Test with Replay Snapshotgithub/copilot-sdk | 11k | — | ~1.8k | Automated safety check: Pass | MIT |
xpinjection/test-driven-spring-boot
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior.
gkd-kit/gkd
Looks up Android framework Java and AIDL APIs across versions with the android-api-diff CLI: signatures, availability, source files and hidden-API access code.
itwanger/toBeBetterJavaer
Generate matched 3:4, 16:9, and 4:3 short-video cover images from toBeBetterJavaer video scripts or AI/Java technical topics.
lancedb/lancedb
Update LanceDB to a specific Lance release or tag. An agent skill from lancedb/lancedb.
github/copilot-sdk
Creates a Java SDK end-to-end test for the Copilot SDK that runs against a recorded YAML snapshot through a replay proxy, so CI needs no real authentication.
apache/fory
Prepare an Apache Fory release candidate from a clean release branch, including the version bump, RC tag, JVM staging, ASF source artifacts, SVN upload, and vote email.
iflytek/skillhub
Answers questions about a past agent run from its recording, using causal graphs and replay, instead of reconstructing events from memory.
iflytek/skillhub
Audits and rewrites formulaic, AI-sounding prose while keeping facts, voice and format, using a local Python scorer and inspect-only, rewrite or embedded-gate modes.
iflytek/skillhub
Access 2,000+ AI models and API tools through one MCP interface for inference, media generation, search, scraping, embeddings, social data, and structured retrieval.
iflytek/skillhub
Drafts a copy-paste-ready LinkedIn post from your facts and ideas, choosing the smallest structure that fits and keeping an accessible plain-text fallback for any styled text.
iflytek/skillhub
Connects an agent to a SkillHub registry and uses the official SkillHub CLI to search, install, list and explicitly upgrade skills from that registry.
iflytek/skillhub
Breaks AI-generated text into checkable claims, verifies them against independent sources and labels each one, with an optional exercise for learners.
Works with
The authoritative skill lifecycle state model including container states, version states, review workflow states, visibility overlay, and governance actions. Skill Lifecycle is an agent skill from iflytek/skillhub. The authoritative skill lifecycle state model including container states, version states, review workflow states, visibility overlay, and governance actions.
Run `npx skills add iflytek/skillhub --skill skill-lifecycle -a claude-code`. Or copy the skill folder (.agents/skills/skill-lifecycle in iflytek/skillhub) into .claude/skills/skill-lifecycle in your project. Claude Code loads it when a task matches its description.
Run `npx skills add iflytek/skillhub --skill skill-lifecycle -a codex`. Or copy the skill folder (.agents/skills/skill-lifecycle in iflytek/skillhub) into .agents/skills/skill-lifecycle in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add iflytek/skillhub --skill skill-lifecycle -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/skill-lifecycle, .gemini/skills/skill-lifecycle, .github/skills/skill-lifecycle and .opencode/skills/skill-lifecycle in your project.
SKILL.md names no scripts, command-line tools or credentials: Skill Lifecycle is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Skill Lifecycle is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.7k tokens (SKILL.md is roughly 6.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Skill Lifecycle: Brainstorming (xpinjection/test-driven-spring-boot, 112 stars), Android API Diff (gkd-kit/gkd, 43k stars), Video Cover Image (itwanger/toBeBetterJavaer, 18k stars) and Lancedb Update Lance Dependency (lancedb/lancedb, 12k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
iflytek (a GitHub organization) maintains it in iflytek/skillhub, which has 5,152 GitHub stars. The repository holds 29 skills in this directory. The repository was last updated on October 1, 2026.
Source: iflytek/skillhub on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.