DeepChat Release Assistant
Prepare and publish DeepChat releases following repository conventions: bump versions, maintain bilingual changelogs, manage release branches, and fast-forward main.
Evidence shows the skill file contains no malicious behavior and requests no extra permissions, but its execution modifies the repository (bumps version, edits CHANGELOG, creates tags and branches), constituting external effects. The skill instructs checking state and asking user before some actions (e.g., if tag exists), but does not require explicit confirmation for all critical operations, and no rollback mechanism is documented. Thus permissions and confirmation are incomplete; deduction applied.
The skill file is self-consistent, providing clear command sequences and checks, but lacks tests or error handling mechanisms. Referenced files (e.g., release-checklist.md) offer detailed commands, but executability in real environment cannot be confirmed. As static review, happy path plausibility is unclear, error handling is thin; score 7.
Skill clearly defines use cases (publishing DeepChat releases), audience (project maintainers), capability boundaries (only release-related operations) and trigger conditions (user requests release or continuation). Non-fit scenarios not explicit, but overall clarity is good. Environment fit: supports bilingual changelog, but core operations rely on Git/pnpm, runnable locally or in CI, no mainland China reachability issues. Score 10.
Documentation is well-structured with overview, steps, references, and examples, includes versioning (bilingual format from v1.0.1) and known limitations (e.g., ask if tag exists). However, lacks FAQ, dependency installation instructions (assumes environment ready), and maintenance responsibility statement. Score 10.
Skill claims to complete release process, but static review cannot verify actual effect. No representative outputs or third-party execution evidence; direct usability unconfirmed. Marginal value over manual effort likely positive but not demonstrated. Score 5.
Detailed command sequences provided, but no test results or third-party validation. CI workflow files exist but not for this skill, and no dedicated tests. Score 4.
- This skill modifies repository state (bumps versions, creates tags and branches); ensure a backup or rollback plan exists before execution.
- Skill documentation does not require explicit user confirmation for all critical operations; consider strengthening before use.
- Skill depends on Git and pnpm; ensure they are properly configured in your environment.
What does this skill do, and when should you use it?
This skill defines the complete release process for the DeepChat repository. It handles updating package.json and CHANGELOG.md (with bilingual entries for v1.0.1 onwards), creating or updating release/<version> branches, running release checks like format, i18n, and lint, and finally publishing via a fast-forward of main with a version tag after PR approval. It also guides common recovery scenarios, such as continuing a release when the branch exists but the tag is missing.
The skill inspects the current git state, checking for the existence of release/<version> branches and v<version> tags. It updates package.json and CHANGELOG.md on dev with a new bilingual changelog section (English first, Chinese second). It runs pnpm run format, pnpm run i18n, and pnpm run lint, and optionally pnpm run typecheck before cutting a release branch. It creates or updates the release branch per the chosen mode, and after PR approval, publishes using pnpm run release:ff -- release/<version> --tag v<version>, which fast-forwards main and creates the tag, then deletes the temporary release branch. It also handles recovery when the branch exists but the tag is missing or when metadata changes after branching.
- Maintainers preparing a new version (e.g., v1.0.2) with version bump and changelog updates
- Release stuck mid-way: branch exists but tag not created, need to continue and complete
- Creating and pushing a release/v1.0.3 branch following the project flow
- Running required release checks (format, i18n, lint) before publishing
- Publishing after PR approval by fast-forwarding main and tagging the same commit
What are this skill's strengths and limitations?
- Clear step-by-step release flow from metadata preparation to branch management and final publish
- Integrated with repository-specific commands like pnpm run release:ff, ensuring adherence to project conventions
- Includes bilingual changelog format with English first and Chinese second from v1.0.1 onward
- Provides specific guidance for common recovery cases like existing branch without tag
- Enforces release branch policy, avoiding direct merge commits on main
- Specific to the DeepChat repository and not generalizable (depends on unique commands and paths)
- Requires familiarity with the repository's release strategy (fast-forward vs merge)
- Does not mention automated tests unless explicitly requested or when behavior changes
- Requires pnpm and git environment pre-configured
How do you install this skill?
This skill is bundled in the DeepChat repository at .agents/skills/deepchat-release/SKILL.md. To install the whole skill collection: clone the repo and copy the .agents/skills folder to your agent workspace, or place the deepchat-release folder in the appropriate skills directory.
How do you use this skill?
Enable the deepchat-release skill in an Agent Skills-compatible client, then trigger it with a request like "Prepare release 1.0.2, update version and changelog" or "Continue release 1.0.1, the release branch exists but tag is not created yet." The skill will guide you through each step, possibly prompting for git state confirmation.
How does this skill compare with similar options?
No specific alternatives are mentioned.