generate-charter
Skill6 starsChanged 7 months agoMITView on GitHub
Generates a project charter from brief, stakeholder answers, and constraints. The charter is the first artifact of the Initiation phase. Once approved, it unlocks dependent tasks: generate-risk-register, generate-project-plan, generate-estimate. Accepts both structured briefs and free-form notes. Triggers RU: «сформируй устав», «подготовь устав проекта», «создай устав», «нужен устав проекта», «составь устав проекта», «устав проекта», «generate-charter», «сформируй charter». Triggers EN: 'generate charter', 'create project charter', 'build charter', 'draft project charter'.
In this repository20 other files it gives its agents.
- coordinate-executorsSkill
- coordinate-meetingSkill
- generate-approval-letterSkill
- generate-budgetSkill
- generate-change-impactSkill
- generate-checklistSkill
- generate-closure-reportSkill
- generate-comm-planSkill
- generate-comparison-tableSkill
- generate-estimateSkill
- generate-meeting-protocolSkill
- generate-plan-fact-reportSkill
- generate-project-planSkill
- generate-questionnaireSkill
- generate-resource-planSkill
- generate-response-planSkill
- generate-risk-registerSkill
- generate-stakeholder-mapSkill
- monitor-progressSkill
- send-emailSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
13 rules. About 0 are common, 11 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈11
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 16
If the request is in Russian → use templates with -ru suffix
- Distinctive: line 19
All output (headings, labels, comments, instructions) must match the detected language.
- Distinctive: line 33
If required data is missing — request it (system-prompt-draft.md §3 p.2):
- Distinctive: line 47
Check inputs: Verify that project data (in any form) is present.
- Distinctive: line 58
Do not include system file paths.
- Distinctive: line 73
If the user specified success metrics — include them.
- Distinctive: line 82
If no exact dates — use relative timelines (week N) and record the assumption.
- Distinctive: line 86
Add rows per number of budget line items in inputs.
- Distinctive: line 87
If breakdown is absent — state the total as a single row and record the assumption: "Budget breakdown by line item was not provided."
- Distinctive: line 93
If composition is not provided — keep Sponsor and PM rows only.
- Distinctive: line 97
Assumptions: all assumptions made by the agent during filling (e.g., "budget breakdown not provided", "out-of-scope items determined by …
- Distinctive: line 151
Before showing the result to the user — verify:
- Very specific: line 175
After charter approval, the user must upload project-charter.md to project knowledge to make it available to dependent skills.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
generate-charter
Triggers
Russian: «сформируй устав», «подготовь устав проекта», «создай charter», «нужен устав проекта» English: "generate charter", "create project charter", "build charter", "draft project charter"
Language Detection
Determine the language of the user's request:
- If the request is in Russian → use templates with
-rusuffix - Otherwise → use templates with
-ensuffix
All output (headings, labels, comments, instructions) must match the detected language.
1. Inputs
| Data | Required | Source | Notes |
| Project data | yes | chat or knowledge | Brief, free-form description, answers to questions, or unstructured notes. Agent extracts and structures independently |
| Stakeholder answers | no | chat or knowledge | Completed questionnaire or free-form answers. If absent — agent extracts from general project description |
| Project constraints | no | chat or knowledge | Budget, timeline, technical, organizational. If not provided separately — agent extracts from general description |
| Team composition | no | chat or knowledge | If provided — fill Section 5. If absent — keep only Sponsor and PM rows |
| Market context | no | chat or knowledge | Used to refine goal statement and risks |
If required data is missing — request it (system-prompt-draft.md §3 p.2):
To generate a charter, I need project information in any format:
a ready brief, answers to questions, a free-form description, or a set of key points.
Minimum to start: project goal and at least one of: timeline, budget, scope.
Available data: [list what is present].
Missing for the charter: [specify].2. Execution Steps
- Check inputs. Verify that project data (in any form) is present. If missing → request using the template in §1. Do NOT generate a placeholder charter, template, or example — respond ONLY with the data request. If present → step 2.
- Structure inputs. If data is free-form — extract and categorize: goal, scope, timeline, budget, team, constraints, risks. Note ambiguities and gaps; clarify with the user selectively. Do not ask for everything at once — request only what is strictly required for the charter. When computing dates from relative timelines ("12 weeks from April 7") — calculate exactly: start + N×7 days = end. Do not round.
- Check for contradictions. If one parameter (budget, timeline, scope) appears with conflicting values across sources — do NOT choose a value independently. List the contradictions and ask the user which data is current. Exception: if the user explicitly clarifies outdated brief data in chat — treat the clarification as authoritative.
- Read the template
project-charter.mdfrom project knowledge. - Extract data from sources. For each placeholder (Section 4) — find the value in inputs. Priority: explicit user data > brief > agent assumption.
- Fill template sections following the rules in Section 3.
- Validate the result using the checklist (Section 5).
- Show the result in chat. Format (system-prompt-draft.md §3 p.4):
- What was done: "Charter generated for project [name] based on: [list sources]."
- Assumptions: list all (if any).
- What is required: "Approve, provide comments, or reject."
- Do not include system file paths. Use filename only: "Charter saved as project-charter.md".
- Wait for user response (system-prompt-draft.md §3 p.5).
- Approval → produce the final document.
- Comments → revise and show updated version. After the 3rd iteration — ask: "Continue revising or finalize the current version?" (this is not a hard limit — user may request more iterations).
- After approval:
- Offer the user text to paste into log.md and project-state.md (system-prompt-draft.md §11).
- Notify: "Charter approved. Next available task: generate-risk-register (initial risk register). Start?" (system-prompt-draft.md §7).
3. Section Fill Rules
Section 1. Project Goal
- Extract from stakeholder answers or free-form description (block "Goals and Expectations").
- Format: 1–3 sentences. What is being done, why, and what the outcome is.
- If the user specified success metrics — include them.
Section 2. Project Result (Scope)
- Included: specific deliverables from inputs. Each item is a measurable result.
- Excluded: explicit out-of-scope items from stakeholder answers ("we are NOT doing..."). If not specified — formulate based on context and record as an assumption.
Section 3. Timeline and Milestones
- Dates from inputs.
- Milestones: tie to key deliverables from Section 2. Minimum: start, intermediate checkpoints, launch.
- If no exact dates — use relative timelines (week N) and record the assumption.
Section 4. Budget
- Fill from stakeholder data on budget and resources.
- Add rows per number of budget line items in inputs. Last row is the total.
- If breakdown is absent — state the total as a single row and record the assumption: "Budget breakdown by line item was not provided."
- "Notes" column — for explanations and sources of figures.
Section 5. Team and Roles
- Fill from team composition (if provided).
- Required roles: Sponsor, PM.
- If composition is not provided — keep Sponsor and PM rows only; do not add others.
Section 6. Constraints and Assumptions
- Constraints: from constraint data + identified from project description.
- Assumptions: all assumptions made by the agent during filling (e.g., "budget breakdown not provided", "out-of-scope items determined by agent").
Section 7. Key Risks (Top 3)
- Identify exactly 3 most probable/impactful risks based on project context. The charter is a strategic document for approval, not a risk register. Full detail will be in risk-register.md (next skill). If more than 3 risks are identified — mention in assumptions: "3 key risks selected from N identified. Remaining risks — in the risk register."
- Rating: H (High) / M (Medium) / L (Low) — for both probability and impact.
- For each — briefly describe mitigation.
- Note: "Details — in risk-register.md" (to be created by the next skill).
Section 8. Approval
- Fill names from Section 5 (Sponsor, PM). Date — leave blank (filled upon approval).
Header Metadata
Version: 1.0Date: current generation date.File:project-charter.mdDocument Status:draft(at generation). After user approval —approved.Project Manager: from inputs.
4. Placeholder Table
Placeholders
{{}}in the template are fill targets, not auto-substitution variables. Replace each with the corresponding value from inputs.
| Placeholder | Required | Source | Allowed Values |
{{project_name}} | yes | project data | text |
{{date}} | yes | system | YYYY-MM-DD |
{{pm_name}} | yes | project data / team | name |
{{project_goal}} | yes | project data | text, 1–3 sentences |
{{deliverable_N}} | yes (≥1) | project data | specific result |
{{out_of_scope_N}} | yes (≥1) | project data / assumption | what is NOT included |
{{start_date}} | yes | project data | YYYY-MM-DD |
{{end_date}} | yes | project data | YYYY-MM-DD |
{{milestone_N}} | yes (≥1) | project data / section 2 | milestone name |
{{date_N}} | yes | project data | YYYY-MM-DD or "week N" |
{{launch_date}} | yes | project data | YYYY-MM-DD |
{{cost_item_N}} | no | project data | budget line item |
{{amount_N}} | no | project data | number + currency |
{{note_N}} | no | agent | line item explanation |
{{total_budget}} | yes | project data | number + currency |
{{sponsor_name}} | yes | project data | name |
{{role_N}} | no | team | role name |
{{name_N}} | no | team | name |
{{responsibility_N}} | no | team | area of responsibility |
{{constraint_N}} | yes (≥1) | project data | text |
{{assumption_N}} | no | agent | text (formulated by agent) |
{{risk_N}} | yes (≥3) | agent | risk description |
{{mitigation_N}} | yes (≥3) | agent | mitigation description |
5. Validation Checklist
Before showing the result to the user — verify:
- All required placeholders replaced with values
- No
{{}}placeholders remain in the text (except removed optional rows) - Project goal is specific and measurable
- Scope contains both "Included" (≥1) and "Excluded" (≥1)
- Dates are consistent: start_date < milestone_dates < end_date
- Budget: total = sum of rows (or single row with total amount)
- Risks: exactly 3, with probability and impact ratings, with mitigation
- All agent assumptions listed in Section 6
- Document status =
draft - File:
project-charter.mdstated in header
6. Dependencies
Consumes (input): project data from the user — via chat or knowledge.
Produces (output): project charter → consumed by skills (system-prompt-draft.md §7):
generate-risk-register(mode: initial) — phase 1, Initiationgenerate-project-plan— phase 2, Planninggenerate-estimate— phase 1 (Product 1, non-MVP)
After charter approval, the user must upload project-charter.md to project knowledge to make it available to dependent skills.
7. Example
User command:
Generate a project charter. Brief, stakeholder answers, and constraints are in project knowledge.
Agent response (after generation):
Charter generated for project "[name]" based on: brief, stakeholder answers, constraints.
Assumptions:
- Out-of-scope items determined by agent based on context (not explicitly stated by stakeholder).
- Budget breakdown by line item was not provided — total amount stated.
Required: approve, provide comments, or reject.
[charter text]
Changelog
| Date | Version | Change |
| 2026-03-25 | 1.0 | Skill created. Reference SKILL.md for remaining MVP skills |
| 2026-03-25 | 1.1 | Based on benchmark results (3 tests, 6 runs). Added: step 3 — contradiction check; strengthened guard rail for missing data (step 1); explanation of "exactly 3 risks" constraint (§3 section 7); prohibition of file paths in response (step 8); exact date calculation (step 2) |
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

