Files
016-pretty-table/.agents/skills/artifact/references/PP.md
T
Tirsvad b0a7414204 Add Pretty Table project: plan, accepted documents and code
Business Case, Stakeholder Analysis, Project Plan and milestone MIL-001
with review records RC-001 to RC-003, then the Python project: PrettyTable
Pokemon table, constants, pytest tests, pyproject.toml, Doxyfile, CI
workflow and README.

Task: MIL-001#1
Task: MIL-001#2
Task: MIL-001#3
Task: MIL-001#4
Task: MIL-001#5
Task: MIL-001#6
Task: MIL-001#7
Task: MIL-001#8
2026-10-07 12:02:59 +08:00

3.2 KiB

Project Plan (PP)

One per project: docs/project-plan.md. Schedules the phases (MIL-* gateways) over the Business Case's timeline/duration constraint.

Cite in CrossReference only if the instance exists (new-artifact.sh checks this for you):

  • BC — the duration/constraint and objectives the plan schedules against
  • SA — the communication cadence (e.g. sync frequency) the phase length follows
  • MIL — every phase gateway the plan schedules (add each as it is created)
  • US — the gateway user stories, once they exist

Required sections (after Metadata / Version History)

  1. Purpose — what the plan schedules and over what constraint.
  2. Planning Assumptions — start date, phase length, any resolved conflicts the phasing follows (cite SA/BC where relevant).
  3. Gateway Schedule — one row per phase: Gateway | Document | Window | Decision date | Owner | Stories | Main deliverable | Milestone. One row per MIL-*. Milestone links to that phase's Gitea/GitHub Milestone once sync-project.sh has created it (see "Phases, tasks and the git host" below); leave it blank until then.
  4. Timeline diagram — a PlantUML Gantt chart, one bar per phase plus a milestone marker per Go/No-Go decision.
  5. Scope Coverage — maps each Business Case scope item to the gateway that delivers it.
  6. Dependencies — the gateway order (usually a simple chain) and what a No-Go does to later dates.
  7. Plan Risks — risks specific to the plan (schedule slip, dependency risk), separate from the Business Case's own Risks table.
  8. Open Issues — anything unresolved (start date to confirm, ambiguous targets, missing checklists needed by a later phase).

Phases, tasks and the git host

Each phase is a MIL-* gateway document (see references/MIL.md), which also holds that phase's task breakdown in its own ## Tasks section. The Project Plan does not repeat the tasks — it only lists the phases and their schedule, plus a link to each phase's Milestone once synced (see above). Use the project-planning skill to break a phase into tasks and sync phases (as Milestones) and tasks (as Issues) to Gitea/GitHub:

bash framework/scripts/sync-project.sh              # dry run — prints the plan, no network calls
bash framework/scripts/sync-project.sh --apply      # creates/updates Milestones and Issues

--apply needs a token: GITEA_TOKEN (Gitea, a personal access token — not a deploy key) or gh auth login (GitHub). GITEA_TOKEN can come from a .env file at the project root (copy .env.example, never commit it). If .env is missing or has no token when a sync is needed, ask the user for one and create .env from .env.example with it rather than skipping the sync or inventing a value.

After a real --apply run, copy each Milestone's URL into the Gateway Schedule's Milestone column (a content update, not a status change — it does not need a new ## Version History row).

Validating

PP has no QC checklist yet (open item) — validate a plan against the Business Case constraint it schedules and against ## Go / No-Go Criteria in each MIL-* it lists, rather than a dedicated checklist.