This skill provides a set of general project management specifications and workflows, designed to ensure that projects are carried out efficiently and in a standardized manner, covering the entire process from project initialization, requirements management, development, and testing to deployment.
Keywords: project management, tasks, requirements, documents, TODO, backlog, workshops
1.1. When to use this skill
If the project charter (AGENTS.md) or user instructions require it, this Skill should be used at any time. Specific situations include but are not limited to:
- When the user is managing requirements, tasks, or defects in the project;
- When code development, testing, branch management, and deployment operations are needed;
- When the user requests organizing the project structure or creating new documents; etc.
1.2. How to override the default description of this Skill
The description of this Skill can be adjusted and overridden according to specific project needs:
- If the project charter (
AGENTS.md) mentions something like覆盖 project_management 的 ... 部分, then in the corresponding section, the project-specific description and specifications should be used first. - If the user requests overriding the description of this Skill, please confirm the user's intent and write it into the project charter according to the explicit description of
覆盖 project_management 的 ... 部分.
2. Directory structure and usage of special directories
To ensure project consistency and maintainability, it is recommended to adopt the following standardized Monorepo directory structure in the repository.
2.1. Directory structure
/ # 仓库根目录
├── .git/
├── workshops/ # 所有仓库包含的开发项目所在地
│ └── <project-name>/ # 单个项目目录
│ ├── AGENTS.md # 单个项目的章程
│ ├── TODO.md # 单个项目特定的任务列表
│ ├── docs/ # 单个项目特定的文档
│ │ ├── requirements/ # 单个项目的需求文档列表
│ │ └── specs/ # 单个项目的整体设计文档
│ └── src/ # 项目源代码
├── skills/ # 仓库特定 Skill
│ └── ...
├── local-inbox/ # 「收件箱」目录,用于用户提供文件
├── AGENTS.md # 仓库的章程
├── GEMINI.md # AGENTS.md 的符号链接(别名)
├── README.md # AGENTS.md 的符号链接(别名)
├── TODO.md # 全局的、跨项目的任务列表
├── .gitignore
└── ...
Some repositories may contain only one project. In this case, the directory structure may be simplified, as determined by AGENTS.md .
2.2. How to use the "Inbox"
If the user needs to pass non-text files, images, or multiple files to the assistant, the user will place the files in an agreed "Inbox" directory (default local-inbox/)。
The assistant needs to regularly check whether this directory has new files, rename the files according to the file contents, user instructions, and documents, and move them to an appropriate archive location (for example docs/specs/ or docs/requirements/)。
3. Requirements and task management
3.1. Document management
When creating any requirements, design, or other types of documents, the following specifications must be followed:
- Determine the location: Determine the target document location according to this Skill and the project charter file;
- Get the timestamp: mustfirst run the
date +'%Y-%m-%d-%H-%M'command to get the current time; - Name the file: The file name must be in the format
YYYY-MM-DD-HH-mm-{文档名称}.md, to facilitate sorting and retrieval by time; - Update TODO: After creating the document, a reference link to the document should be added in the corresponding
TODO.mdtask.
When possible, documents should link to their "subordinate" documents to form a clear document hierarchy. For example, the main specification document should link to each feature specification document, the requirements document should link to related design documents, and TODO items should link to the corresponding requirements or defect documents.
You can obtain document templates from other Skills to ensure consistency and quality.
3.2. Task tracking management
In order to track and continuously advance the collaboration between the user and the assistant, all tasks proposed by the user must
- be recorded in the corresponding
TODO.mdfile for tracking; - set the
TODO.mdentries link to more detailed documentation; - According to the task requirements, write the corresponding requirements, defect, and Spec documents.
Even if the assistant itself has
todotype tools, it must still follow the above specifications.
You can obtain the TODO.md template from other Skills. When using it, please ensure the following key elements are included:
- Status: Tasks should be placed in one of the following lists according to their lifecycle stage:
进行中 (In Progress),待办 (TODO),阻塞 (Blocked),已完成 (Done),已搁置 (On Hold)。 - Task Unit:
- Task: A macro-level goal, usually needs to be broken down into smaller "development items" before it can be executed.
- Development Item: A specific, directly executable unit of work.
- Attributes: Each task or development item should include
创建日期and优先级(High, Medium, Low)。)
3.3. Product Specification Management
All product specifications should be recorded in the project directory's docs/specs/ directory. This helps maintain clear, versioned functional documentation.
- Main Specification Document:
docs/specs/directory there should be a main specification document (e.g.,main-spec.md), providing an overall project overview and linking to detailed specification subdocuments for each feature or component. - Subdocuments: Each major feature or component should have its own independent specification document.
- Image Resources: Images related to specification documents (such as design mockups, reference screenshots) should be stored in a directory with the same name as the document.
- Example:
docs/specs/feature-A.mdimage resources should be stored in thedocs/specs/feature-A/directory.
- Example:
- Test Case References: Each specification document must clearly list and link to related test case documents to ensure requirements and acceptance criteria correspond one-to-one.
4. Development Verification and Testing
This Skill describes the general development process. For a more detailed process, refer to the specific description in the project charter (AGENTS.md), as well as other Skills mentioned.
4.1. TDD Mode Development Process
Development should generally follow the Test-Driven Development (TDD) model to ensure code quality and functional correctness
The general order is as follows:
- Ensure the charter, Spec documents, and requirements documents are complete;
- commit changes (documentation changes);
- Write test cases and documentation covering expected functionality and edge cases;
- Perform development, run tests, and ensure all tests pass, including newly written tests;
- Update Spec, requirements, and test documentation (if necessary);
- commit changes (code and documentation changes).
4.2. Git Branching and Deployment Process
If not otherwise agreed, the following Git branching strategy and workflow are recommended:
Branching Strategy:
main: Main branch, always kept deployable;mastercan also be used as the name.dev: Development branch, used to integrate various features.feat/{feat_name}: Branch for a specific feature.fix/{bug_name}: Defect fix branch.
Commit Message Convention:
feat: ...(new feature)fix: ...(defect fix)docs: ...(documentation changes)test: ...(test-related)refactor: ...(code refactoring)chore: ...(build, tools, etc.)
5. General Requirements
5.1. Understanding Context
Before performing any operation, you must first determine whether it is at thegloballevel or at theprojectlevel.
-
Check user instructions:
- If the instruction explicitly mentions a project name (for example, "in the
my-projectproject..."), then enter the project-level workflow. - If the instruction is vague or involves multiple projects (for example, "what high-priority tasks are there?"), then prioritize starting the analysis fromglobal
TODO.md.
- If the instruction explicitly mentions a project name (for example, "in the
-
Read core files:
- Global level: read the root directory's
GEMINI.mdandTODO.md。 - Project level: read
workshops/${project_name}/AGENTS.mdandworkshops/${project_name}/TODO.md。AGENTS.mdis the primary source of information for understanding the project's internal structure and key files.)
- Global level: read the root directory's
5.2. Private Key and Token Management (Secrets Management)
Core principle: It is strictly prohibited to include or push any keys, Tokens, passwords, or example files containing such information into the Git repository.
- Key files: All keys used for local development should be stored in the
.secretsfile in the project root directory, and combined with the technology stack, an appropriate method should be chosen at runtime to load these keys. - Version control:
.secretsfilemustbe added to.gitignore. - Example files: You can create a
.secrets.examplefile containing placeholders and explanations for keys for developers' reference, but it absolutely must not contain real key information.
5.3. Best Practices
- Trust
AGENTS.md: The global and each project'sAGENTS.mdis the "source of truth". - Distinguish global from project: Always clearly distinguish whether an operation is at the global level or the project level, and use the corresponding
TODO.md。 - Follow naming conventions: When creating documents, strictly follow the timestamp-prefix naming convention.
5.4. Emoji Usage
The user and assistant agree that the following Emoji may be used in documents to mark key information:
- 🟩: Indicates completed, passed, successful.
- 🟥: Indicates to-do, problematic, incomplete, needs attention.
Do not add other Emoji at will.