Phase 1: Parse Arguments
Auto-generates a changelog from git commits, sprint data, and design documents. Produces both internal and player-facing versions
Phase 1:
Parse Arguments
What Is This
The "Phase 1: Parse Arguments" skill is the initial step in the changelog generation process for the Happycapy Skills platform. Identified by the skill ID changelog, this phase is responsible for interpreting user-supplied arguments to determine the scope of changes that will be included in the auto-generated changelog. Specifically, it reads either a version tag or a sprint number, which then drives the subsequent data-gathering and changelog creation process. This phase is crucial for ensuring the changelog is accurate and relevant to the selected release or development period.
This skill is designed to interact with git repositories and project management files, supporting the automated collection and categorization of changes. It enables the generation of both internal and player-facing changelogs by consolidating data from git commits, sprint reports, and design documents.
Why Use It
Parsing arguments correctly is foundational to producing meaningful and precise changelogs. Without this step, the tool would not know which set of changes to summarize, potentially leading to incomplete or irrelevant changelogs. By accepting either a git version tag or a sprint number, this skill offers flexibility for different workflows, whether your team releases updates based on semantic versioning, sprint cycles, or both.
The main advantages of this phase include:
- Automation: Reduces manual effort in identifying the relevant changes for a release.
- Consistency: Ensures that the same criteria are applied every time a changelog is generated, improving trust in release documentation.
- Flexibility: Supports both version-based and sprint-based release strategies.
- Early Validation: Immediately checks if the repository context is valid, preventing downstream errors and confusion.
How to Use It
To use the "Phase 1: Parse Arguments" skill, invoke it with either a version tag or a sprint number as the argument. The skill is user-invocable and expects the argument in the format: [version|sprint-number].
Example usage:
## To generate a changelog for version 1.2.0
happycapy run changelog 1.2.0
## To generate a changelog for sprint 14
happycapy run changelog sprint-14Argument Parsing Logic
- Identify Argument Type: The skill first checks whether the argument matches a git tag or a sprint number pattern.
- Select Data Range:
- If a version tag is detected, it will use the corresponding git tag to define the starting point for collecting changes.
- If a sprint number is provided, it will extract the date range of that sprint and use it as the basis for data collection.
- Repository Validation: Before proceeding, the skill verifies that the current directory is a valid git repository. This is done by running:
If this command fails or indicates the directory is not a git repository, the skill will notify the user and abort gracefully.
git rev-parse --is-inside-work-tree
Sample check for repository initialization:
if ! git rev-parse --is-inside-work-tree > /dev/null 2>&1; then
echo "Error: Not a git repository. Please navigate to a project directory with git initialized."
exit 1
fiWhen to Use It
Use the "Phase 1: Parse Arguments" skill whenever you need to generate a changelog based on a specific release or sprint. This is especially useful in the following scenarios:
- Before a game release: When preparing internal or player-facing release notes, invoke the skill with the target version tag.
- At the end of a sprint: When summarizing development progress and changes for stakeholders, use the sprint number to capture all relevant updates.
- Continuous integration setups: Integrate this skill into your CI/CD pipeline to automate changelog generation whenever a new tag is pushed or a sprint completes.
- Retrospective documentation: When backfilling documentation for previous releases, supply the historical version tag or sprint number.
Important Notes
- Argument Quality: Ensure the argument matches an existing git tag or a valid sprint identifier. Invalid arguments will result in an error or incomplete data retrieval.
- Repository Context: The skill must be run from within a git-initialized project directory. Without git context, changelog generation cannot proceed.
- File Structure Dependencies: For sprint-based changelogs, relevant sprint reports should exist in
production/sprints/. For version-based changelogs, git tags must be properly maintained. - User Feedback: On encountering errors (such as non-existent tags or missing sprint files), the skill is designed to inform the user clearly and halt the process without proceeding to data gathering.
- Security: As this skill utilizes shell commands (
git, file reads), make sure your environment is secure and up-to-date to avoid potential command injection or misconfigurations.
By strictly parsing and validating user arguments in this initial phase, the "Phase 1: Parse Arguments" skill establishes a reliable foundation for the entire changelog generation workflow, ensuring accuracy and relevance throughout subsequent processing stages.
More Skills You Might Like
Explore similar skills to enhance your workflow
Browser Testing with DevTools
- Building or modifying anything that renders in a browser
iOS Mobile Design
Master iOS Human Interface Guidelines (HIG) and SwiftUI patterns to build polished, native iOS applications that feel at home on Apple platforms
Parallel Feature Development
- Decomposing a feature for parallel implementation
Nano Banana Pro
Generate, edit, and transform images effortlessly using Gemini AI technology
task (v2)
Create and manage Lark tasks, subtasks, and task lists via the Lark API
Async Python Patterns
- Building async web APIs (FastAPI, aiohttp, Sanic)