@pieai/pro-gov 0.4.4 → 0.4.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/docs/reference/adoption/adoption-playbook.md +1 -1
- package/assets/docs/reference/adoption/recommended-agent-tooling.md +41 -3
- package/assets/profiles/doc-only/manifest.yml +0 -2
- package/assets/profiles/doc-only/profile.md +0 -1
- package/assets/profiles/engineering-runtime/manifest.yml +0 -1
- package/assets/profiles/engineering-runtime/profile.md +0 -1
- package/assets/starter/AGENTS.template.md +13 -18
- package/assets/starter/docs/governance/agents-routing/doc-only-v0.9.md +3 -6
- package/assets/starter/docs/governance/agents-routing/engineering-runtime-v0.9.md +3 -22
- package/dist/cli.js +55 -5
- package/package.json +2 -2
- package/assets/docs/reference/adoption/agent-workflow-methodology-comparison.md +0 -339
- package/assets/integrations/compound-engineering.md +0 -11
- package/assets/integrations/directed-development.md +0 -44
- package/assets/integrations/ponytail.md +0 -9
- package/assets/integrations/superpowers.md +0 -12
|
@@ -221,7 +221,7 @@ Add:
|
|
|
221
221
|
- AI-in-the-Loop rules linked from the project's external shared-rule source
|
|
222
222
|
- canon/provenance/archive rules in `docs/policy/best-practice-for-this-project.md`
|
|
223
223
|
|
|
224
|
-
Do not add engineering
|
|
224
|
+
Do not add engineering test workflow plugins by default.
|
|
225
225
|
Use `capture-learning` only for a real reusable lesson that belongs in that
|
|
226
226
|
workspace.
|
|
227
227
|
|
|
@@ -30,9 +30,9 @@ work; tools and skills add capabilities only when their narrow trigger matches.
|
|
|
30
30
|
| `@pieai/doc-gov` | required | Governed-document and router validation |
|
|
31
31
|
| mattpocock/skills | available | Optional specialist toolbox; no bootstrap or workflow owner |
|
|
32
32
|
| `capture-learning` | available | Save a verified reusable lesson after completed work |
|
|
33
|
-
| Superpowers | not
|
|
34
|
-
| Compound Engineering | not
|
|
35
|
-
| Ponytail | not
|
|
33
|
+
| Superpowers | do not install | Retired mandatory workflow plugin |
|
|
34
|
+
| Compound Engineering | do not install | Retired; native PGS capture keeps the useful learning loop |
|
|
35
|
+
| Ponytail | do not install | Retired global mode/hooks; ordinary engineering judgment stays lean |
|
|
36
36
|
|
|
37
37
|
Before non-trivial work:
|
|
38
38
|
|
|
@@ -53,3 +53,41 @@ the task and the project's real command ladder.
|
|
|
53
53
|
Host plugins that provide external capabilities—such as GitHub, Vercel,
|
|
54
54
|
Supabase, browsers, documents, or device control—remain independent choices.
|
|
55
55
|
PGS does not require them unless a portfolio manifest explicitly declares one.
|
|
56
|
+
|
|
57
|
+
## Who Owns Verification
|
|
58
|
+
|
|
59
|
+
The AI agent executing the task owns verification. Tests do not act on their
|
|
60
|
+
own, and no workflow plugin is required to make the agent run them.
|
|
61
|
+
|
|
62
|
+
Use the target project's real command ladder as evidence: unit tests, type
|
|
63
|
+
checks, builds, browser checks, deployment checks, or documentation checks as
|
|
64
|
+
appropriate. A narrow skill may help when its trigger matches—such as `tdd` for
|
|
65
|
+
an explicitly test-first request or `diagnosing-bugs` for a hard failure—but no
|
|
66
|
+
skill owns ordinary implementation.
|
|
67
|
+
|
|
68
|
+
Beginner version: removing the driving instructor does not remove the car's
|
|
69
|
+
brakes or the driver's duty to check them. Superpowers' mandatory ceremony is
|
|
70
|
+
gone; project-specific verification remains because it proves the change works.
|
|
71
|
+
|
|
72
|
+
## Skill Lifecycle Vocabulary
|
|
73
|
+
|
|
74
|
+
These states are different. Do not use “installed” as a shortcut for all of
|
|
75
|
+
them.
|
|
76
|
+
|
|
77
|
+
| State | Meaning | Context/runtime effect |
|
|
78
|
+
| --- | --- | --- |
|
|
79
|
+
| marketplace-listed | The host can offer the plugin for installation. | None until installed. |
|
|
80
|
+
| cached | Source bytes exist locally for reuse or marketplace display. | Not necessarily enabled or discoverable. |
|
|
81
|
+
| registered | PGS knows the asset id, source, scope, and placement. | Inventory only. |
|
|
82
|
+
| bundled | A reviewed PGS bundle names the asset. | Still not installed in a target. |
|
|
83
|
+
| installed | A host plugin record or managed project/user link exists. | May become discoverable, depending on placement and enablement. |
|
|
84
|
+
| enabled | The host is allowed to load an installed plugin. | Plugin components may be exposed to sessions. |
|
|
85
|
+
| discoverable | The host exposes a skill's name and description to the model. | Small catalog/context cost. |
|
|
86
|
+
| model-invoked | The skill description may trigger automatically on a matching task. | Body loads only when selected. |
|
|
87
|
+
| user-invoked | The user or an explicit flow must request the skill. | No automatic skill-body load. |
|
|
88
|
+
| loaded | The host has read the skill body for the current task. | Full skill instructions affect the current turn. |
|
|
89
|
+
|
|
90
|
+
User-scoped skills are linked once under supported user roots. Project-scoped
|
|
91
|
+
skills are installed through a reviewed asset plan and recorded in the target's
|
|
92
|
+
asset lock. Marketplace catalogs and retired-plugin archives are not installed
|
|
93
|
+
skills.
|
|
@@ -8,8 +8,6 @@ required:
|
|
|
8
8
|
source: external shared-rule SSOT
|
|
9
9
|
agents_routing: docs/governance/agents-routing/doc-only-v0.9.md
|
|
10
10
|
current_work: docs/reference/execution/current-work.md
|
|
11
|
-
optional:
|
|
12
|
-
directed_development: false
|
|
13
11
|
project_local_required:
|
|
14
12
|
- docs/policy/best-practice-for-this-project.md
|
|
15
13
|
- canon/provenance/approval boundaries
|
|
@@ -9,7 +9,6 @@ required:
|
|
|
9
9
|
agents_routing: docs/governance/agents-routing/engineering-runtime-v0.9.md
|
|
10
10
|
current_work: docs/reference/execution/current-work.md
|
|
11
11
|
optional:
|
|
12
|
-
directed_development: integrations/directed-development.md
|
|
13
12
|
mattpocock_skills: integrations/mattpocock-skills.md
|
|
14
13
|
project_local_required:
|
|
15
14
|
- docs/policy/best-practice-for-this-project.md
|
|
@@ -9,7 +9,6 @@ Use for code-heavy projects: apps, games, runtimes, services, browser products,
|
|
|
9
9
|
- `docs/governance/ssot-v0.9.md`
|
|
10
10
|
- external AI-in-the-Loop policy linked by target projects under `docs/policy/shared-rules/ai-in-the-loop.md`
|
|
11
11
|
- `docs/governance/agents-routing/engineering-runtime-v0.9.md`
|
|
12
|
-
- `integrations/directed-development.md`
|
|
13
12
|
- `integrations/mattpocock-skills.md`
|
|
14
13
|
- starter `docs/governance/` and `docs/policy/` templates
|
|
15
14
|
|
|
@@ -11,40 +11,35 @@
|
|
|
11
11
|
1. All Markdown files under `docs/policy/**/*.md`, including files in
|
|
12
12
|
subdirectories and symlinked shared-rule files.
|
|
13
13
|
2. `docs/governance/boundary.md`
|
|
14
|
-
3.
|
|
15
|
-
4. `docs/governance/doc-agent-rules.md`
|
|
16
|
-
5. `docs/governance/doc-types.md`
|
|
17
|
-
6. The selected agents routing file:
|
|
14
|
+
3. The selected agents routing file:
|
|
18
15
|
- `docs/governance/agents-routing/engineering-runtime-v0.9.md`, or
|
|
19
16
|
- `docs/governance/agents-routing/doc-only-v0.9.md`
|
|
20
|
-
|
|
21
|
-
|
|
17
|
+
4. `docs/reference/execution/current-work.md`
|
|
18
|
+
5. Before non-trivial implementation, debugging, release, architecture, or
|
|
22
19
|
migration work, run `pro-gov learn recall --query "<task summary>"` and read
|
|
23
20
|
any relevant prior-learning hits before changing files.
|
|
24
21
|
|
|
22
|
+
When the task creates, edits, moves, deletes, or governs documentation, also
|
|
23
|
+
read `docs/governance/ssot-v0.9.md`,
|
|
24
|
+
`docs/governance/doc-agent-rules.md`, and `docs/governance/doc-types.md` before
|
|
25
|
+
changing governed files.
|
|
26
|
+
|
|
25
27
|
## Governance
|
|
26
28
|
|
|
27
29
|
- Use doc-gov for governed Markdown.
|
|
28
30
|
- Governed Markdown lives under `docs/**` by default.
|
|
29
31
|
- Product artifacts outside `docs/**` are not governed docs unless this project explicitly opts them in.
|
|
30
32
|
- Before creating docs: `pnpm doc-gov find <topic>`.
|
|
31
|
-
- Before claiming doc work complete
|
|
32
|
-
- `pnpm doc-gov
|
|
33
|
-
- `pnpm doc-gov
|
|
34
|
-
- `pnpm doc-gov scan --check`
|
|
35
|
-
- `pnpm doc-gov links`
|
|
36
|
-
- `pnpm doc-gov audit`
|
|
37
|
-
- `pnpm doc-gov doctor`
|
|
33
|
+
- Before claiming doc work complete, run `pnpm doc-gov router-check`, `pnpm
|
|
34
|
+
doc-gov check`, `pnpm doc-gov scan --check`, `pnpm doc-gov links`, `pnpm
|
|
35
|
+
doc-gov audit`, and `pnpm doc-gov doctor`.
|
|
38
36
|
|
|
39
37
|
## Routing
|
|
40
38
|
|
|
41
39
|
- Name this project's adopted profile: `engineering-runtime` or `doc-only`.
|
|
42
|
-
-
|
|
43
|
-
- Codex and this router own normal execution. Optional skills run only when their own narrow trigger directly matches the selected lane.
|
|
44
|
-
- mattpocock/skills may remain available as an unchanged shared toolbox; there is no bootstrap skill or mandatory workflow owner.
|
|
45
|
-
- Before non-trivial work, use Learning Recall. After verified work, use `capture-learning` only when a non-obvious reusable lesson exists.
|
|
40
|
+
- After verified work, use `capture-learning` only when a non-obvious reusable lesson exists.
|
|
46
41
|
- Do not install Stop/SubagentStop workflow reminder hooks.
|
|
47
|
-
-
|
|
42
|
+
- PROFILE_WORKFLOW_NOTE
|
|
48
43
|
|
|
49
44
|
<!-- PGS-ROUTER:END -->
|
|
50
45
|
|
|
@@ -6,7 +6,7 @@ status: stable
|
|
|
6
6
|
canonical: true
|
|
7
7
|
owner: human
|
|
8
8
|
created: 2026-05-09
|
|
9
|
-
last_reviewed: 2026-
|
|
9
|
+
last_reviewed: 2026-07-12
|
|
10
10
|
domain: agents-routing
|
|
11
11
|
tags:
|
|
12
12
|
- agents-routing
|
|
@@ -24,7 +24,7 @@ superseded_by: null
|
|
|
24
24
|
|
|
25
25
|
Shared routing algorithm for non-runtime projects such as AI media, IP development, research, and asset governance workspaces.
|
|
26
26
|
|
|
27
|
-
This route does not use engineering
|
|
27
|
+
This route does not use engineering test workflows by default.
|
|
28
28
|
|
|
29
29
|
## Core Flow
|
|
30
30
|
|
|
@@ -51,8 +51,6 @@ flowchart TD
|
|
|
51
51
|
|
|
52
52
|
## Rules
|
|
53
53
|
|
|
54
|
-
- Do not ask whether the task needs TDD unless the project has actual runtime code.
|
|
55
|
-
- Do not trigger Directed Development unless the project explicitly opts in.
|
|
56
54
|
- Prefer SSOT, provenance, and approval clarity over engineering ceremonies.
|
|
57
55
|
- Use AI-in-the-Loop for evidence: inspect source, change one thing, verify the target document or asset path.
|
|
58
56
|
|
|
@@ -76,8 +74,7 @@ written as Markdown. Governed docs record decisions, plans, references, policies
|
|
|
76
74
|
and workspace truth. Product artifacts stay in the project package or workbench
|
|
77
75
|
unless the project explicitly opts them into doc-gov.
|
|
78
76
|
|
|
79
|
-
##
|
|
77
|
+
## Host Adapter Boundary
|
|
80
78
|
|
|
81
|
-
This route runs before optional skill packs.
|
|
82
79
|
Host-specific adapters such as `CLAUDE.md` may adapt the route for a specific AI
|
|
83
80
|
client, but they must not replace the project `AGENTS.md` route.
|
|
@@ -32,12 +32,8 @@ This file decides **how to choose a workflow**, not what the project is currentl
|
|
|
32
32
|
flowchart TD
|
|
33
33
|
A["Task arrives"] --> B["Read project router and current work"]
|
|
34
34
|
B --> C["Classify with local lane profile"]
|
|
35
|
-
C -->
|
|
36
|
-
|
|
37
|
-
E --> C
|
|
38
|
-
D -- "no" --> F["Enter local lane"]
|
|
39
|
-
F --> G["Use a narrowly matched skill only when helpful"]
|
|
40
|
-
G --> H["Use AI-in-the-Loop evidence cycle"]
|
|
35
|
+
C --> F["Enter local lane"]
|
|
36
|
+
F --> H["Use AI-in-the-Loop evidence cycle"]
|
|
41
37
|
H --> I["Record evidence in doc-gov"]
|
|
42
38
|
```
|
|
43
39
|
|
|
@@ -45,16 +41,6 @@ flowchart TD
|
|
|
45
41
|
|
|
46
42
|
Use this router only to pick depth and workflow. Do not use it as a project roadmap.
|
|
47
43
|
|
|
48
|
-
## DD Trigger
|
|
49
|
-
|
|
50
|
-
Use Directed Development only when all are true:
|
|
51
|
-
|
|
52
|
-
- the task is product work
|
|
53
|
-
- it crosses local lanes or shared contracts
|
|
54
|
-
- sequencing risk makes a flat plan unsafe
|
|
55
|
-
|
|
56
|
-
Do not trigger DD for broad mechanical edits, renames, formatting, or ordinary docs migration.
|
|
57
|
-
|
|
58
44
|
## Project-Local Lane Profile
|
|
59
45
|
|
|
60
46
|
Every engineering project must define its own lane profile in `AGENTS.md` or `docs/policy/best-practice-for-this-project.md`.
|
|
@@ -68,12 +54,7 @@ Typical lanes:
|
|
|
68
54
|
|
|
69
55
|
But the shared router must not define project-specific lanes.
|
|
70
56
|
|
|
71
|
-
##
|
|
72
|
-
|
|
73
|
-
This route runs before optional skill packs such as mattpocock/skills. Skills
|
|
74
|
-
may provide reviews, browser workflows, PRD/issue shaping, or domain-modeling
|
|
75
|
-
artifacts, but their own narrow trigger must match the selected lane. No skill
|
|
76
|
-
pack owns every engineering task.
|
|
57
|
+
## Host Adapter Boundary
|
|
77
58
|
|
|
78
59
|
Host-specific adapters such as `CLAUDE.md` may adapt the route for a specific AI
|
|
79
60
|
client, but they must not replace the project `AGENTS.md` route.
|
package/dist/cli.js
CHANGED
|
@@ -93,6 +93,7 @@ function createNpxSkillsMaintenancePlan(options) {
|
|
|
93
93
|
if (options.operation === "update") {
|
|
94
94
|
assertNoReportedPartialUpdateFailure(result.stdout, result.stderr);
|
|
95
95
|
}
|
|
96
|
+
assertNoDeprecatedMattSkills(tempRoot);
|
|
96
97
|
const after = snapshotFiles(tempRoot);
|
|
97
98
|
const changes = diffSnapshots(before, after);
|
|
98
99
|
return {
|
|
@@ -117,6 +118,16 @@ ${stderr}`.replace(/\u001B\[[0-?]*[ -/]*[@-~]/g, "");
|
|
|
117
118
|
throw new Error(`npx skills update reported a partial failure: ${failure[0]}`);
|
|
118
119
|
}
|
|
119
120
|
}
|
|
121
|
+
function assertNoDeprecatedMattSkills(npxRoot) {
|
|
122
|
+
const lockPath = join3(npxRoot, "skills-lock.json");
|
|
123
|
+
const lock = JSON.parse(readFileSync2(lockPath, "utf8"));
|
|
124
|
+
const deprecated = Object.entries(lock.skills ?? {}).filter(
|
|
125
|
+
([, entry]) => entry.source === "mattpocock/skills" && entry.skillPath?.startsWith("skills/deprecated/")
|
|
126
|
+
).map(([name]) => name).sort();
|
|
127
|
+
if (deprecated.length > 0) {
|
|
128
|
+
throw new Error(`npx skills plan contains deprecated mattpocock skills: ${deprecated.join(", ")}`);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
120
131
|
function assertNativeNpxRoot(npxRoot) {
|
|
121
132
|
if (!existsSync3(join3(npxRoot, "skills-lock.json"))) {
|
|
122
133
|
throw new Error(`npx skills root is missing skills-lock.json: ${npxRoot}`);
|
|
@@ -1790,13 +1801,14 @@ function applyStarterFiles(files, profile) {
|
|
|
1790
1801
|
}
|
|
1791
1802
|
function renderAgentsTemplate(template, projectName, profile) {
|
|
1792
1803
|
const selectedRoute = `docs/governance/agents-routing/${profile}-v0.9.md`;
|
|
1804
|
+
const profileWorkflowNote = profile === "doc-only" ? "- Engineering test workflows are not enabled by default for this doc-only project." : "";
|
|
1793
1805
|
return template.replace("# PROJECT_NAME AI Router", `# ${projectName} AI Router`).replace(
|
|
1794
|
-
|
|
1795
|
-
`
|
|
1806
|
+
/\d+\. The selected agents routing file:\n - `docs\/governance\/agents-routing\/engineering-runtime-v0\.9\.md`, or\n - `docs\/governance\/agents-routing\/doc-only-v0\.9\.md`/,
|
|
1807
|
+
`3. The selected agents routing file: \`${selectedRoute}\``
|
|
1796
1808
|
).replace(
|
|
1797
1809
|
"- Name this project's adopted profile: `engineering-runtime` or `doc-only`.",
|
|
1798
1810
|
`- This project adopts the \`${profile}\` profile.`
|
|
1799
|
-
);
|
|
1811
|
+
).replace("- PROFILE_WORKFLOW_NOTE", profileWorkflowNote).replace(/\n{3,}/g, "\n\n");
|
|
1800
1812
|
}
|
|
1801
1813
|
function readFlag(args, flag) {
|
|
1802
1814
|
const index = args.indexOf(flag);
|
|
@@ -2441,6 +2453,10 @@ function formatProjectLensAuditCheckText(result) {
|
|
|
2441
2453
|
function formatProjectLensInspection(report) {
|
|
2442
2454
|
return [
|
|
2443
2455
|
`target: ${report.targetDir}`,
|
|
2456
|
+
`scan-scope: ${report.scanScope.mode}`,
|
|
2457
|
+
`candidate-files: ${report.scanScope.candidateFileCount}`,
|
|
2458
|
+
`included-files: ${report.scanScope.includedFileCount}`,
|
|
2459
|
+
`excluded-files: ${report.scanScope.excludedFileCount}`,
|
|
2444
2460
|
`ai-entry-files: ${formatList(report.aiEntryFiles)}`,
|
|
2445
2461
|
`ai-config-files: ${formatList(report.aiConfigFiles)}`,
|
|
2446
2462
|
`package-scripts: ${formatList(report.packageJson?.scripts ?? [])}`,
|
|
@@ -2462,6 +2478,10 @@ function renderProjectLensMarkdownReport(report) {
|
|
|
2462
2478
|
`- Target: \`${report.targetDir}\``,
|
|
2463
2479
|
`- Generated: ${(/* @__PURE__ */ new Date()).toISOString()}`,
|
|
2464
2480
|
"- Scope: local read-only evidence for AI-assisted project review",
|
|
2481
|
+
`- Evidence mode: ${report.scanScope.mode}`,
|
|
2482
|
+
`- Candidate files: ${report.scanScope.candidateFileCount}`,
|
|
2483
|
+
`- Included files: ${report.scanScope.includedFileCount}`,
|
|
2484
|
+
`- Excluded vendor/cache files: ${report.scanScope.excludedFileCount}`,
|
|
2465
2485
|
"",
|
|
2466
2486
|
"## AI Entry Files",
|
|
2467
2487
|
"",
|
|
@@ -2522,11 +2542,20 @@ var ignoredDirectories = /* @__PURE__ */ new Set([
|
|
|
2522
2542
|
]);
|
|
2523
2543
|
function scanProjectLensTarget(targetDir, options = {}) {
|
|
2524
2544
|
const largeFileBytes = options.largeFileBytes ?? 5e4;
|
|
2525
|
-
const
|
|
2526
|
-
const
|
|
2545
|
+
const candidateFiles = listProjectFiles(targetDir);
|
|
2546
|
+
const files = candidateFiles.filter(isFirstPartyEvidenceFile);
|
|
2547
|
+
const markdownFiles = files.filter(
|
|
2548
|
+
(file) => file.startsWith("docs/") && file.endsWith(".md")
|
|
2549
|
+
);
|
|
2527
2550
|
const packageJson = readPackageJson(targetDir);
|
|
2528
2551
|
return {
|
|
2529
2552
|
targetDir,
|
|
2553
|
+
scanScope: {
|
|
2554
|
+
mode: "first-party",
|
|
2555
|
+
candidateFileCount: candidateFiles.length,
|
|
2556
|
+
includedFileCount: files.length,
|
|
2557
|
+
excludedFileCount: candidateFiles.length - files.length
|
|
2558
|
+
},
|
|
2530
2559
|
aiEntryFiles: ["AGENTS.md", "CLAUDE.md"].filter(
|
|
2531
2560
|
(file) => existsSync17(join17(targetDir, file))
|
|
2532
2561
|
),
|
|
@@ -2575,10 +2604,31 @@ function runGit(targetDir, args) {
|
|
|
2575
2604
|
return { ok: true, stdout: result.stdout.trim() };
|
|
2576
2605
|
}
|
|
2577
2606
|
function listProjectFiles(targetDir) {
|
|
2607
|
+
const gitFiles = runGit(targetDir, [
|
|
2608
|
+
"ls-files",
|
|
2609
|
+
"--cached",
|
|
2610
|
+
"--others",
|
|
2611
|
+
"--exclude-standard",
|
|
2612
|
+
"-z"
|
|
2613
|
+
]);
|
|
2614
|
+
if (gitFiles.ok) {
|
|
2615
|
+
return gitFiles.stdout.split("\0").filter(Boolean).map(toUnixPath4).filter((file) => existsSync17(join17(targetDir, file))).sort();
|
|
2616
|
+
}
|
|
2578
2617
|
const files = [];
|
|
2579
2618
|
collectFiles2(targetDir, targetDir, files);
|
|
2580
2619
|
return files.sort();
|
|
2581
2620
|
}
|
|
2621
|
+
var excludedEvidencePrefixes = [
|
|
2622
|
+
".agents/manual-skills/",
|
|
2623
|
+
".agents/skills/",
|
|
2624
|
+
"agent-assets/skills/npx-skills/",
|
|
2625
|
+
"third-party/",
|
|
2626
|
+
"third_party/",
|
|
2627
|
+
"vendor/"
|
|
2628
|
+
];
|
|
2629
|
+
function isFirstPartyEvidenceFile(file) {
|
|
2630
|
+
return !excludedEvidencePrefixes.some((prefix) => file.startsWith(prefix));
|
|
2631
|
+
}
|
|
2582
2632
|
function collectFiles2(rootDir, currentDir, files) {
|
|
2583
2633
|
if (!existsSync17(currentDir)) return;
|
|
2584
2634
|
for (const entry of readdirSync7(currentDir, { withFileTypes: true })) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pieai/pro-gov",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.6",
|
|
4
4
|
"description": "Project-level distribution kit for Project Governance System.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ai-agents",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"access": "public"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@pieai/doc-gov": "^0.4.
|
|
38
|
+
"@pieai/doc-gov": "^0.4.6"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"@types/node": "24.13.2",
|
|
@@ -1,339 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: REF-AGENT-WORKFLOW-METHODOLOGY-COMPARISON
|
|
3
|
-
title: Agent Workflow Methodology Comparison
|
|
4
|
-
type: reference
|
|
5
|
-
status: superseded
|
|
6
|
-
canonical: false
|
|
7
|
-
owner: project
|
|
8
|
-
created: 2026-07-06
|
|
9
|
-
last_reviewed: 2026-07-06
|
|
10
|
-
domain: adoption
|
|
11
|
-
tags:
|
|
12
|
-
- agent-workflows
|
|
13
|
-
- superpowers
|
|
14
|
-
- compound-engineering
|
|
15
|
-
- mattpocock-skills
|
|
16
|
-
- wayfinder
|
|
17
|
-
pinned: false
|
|
18
|
-
related:
|
|
19
|
-
- REF-PUBLIC-RELEASE-CHECKLIST
|
|
20
|
-
- REF-DOWNSTREAM-PROJECT-REGISTRY
|
|
21
|
-
superseded_by: REF-RECOMMENDED-AGENT-TOOLING
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
# Agent Workflow Methodology Comparison
|
|
25
|
-
|
|
26
|
-
> Historical snapshot only. The current decision is documented in
|
|
27
|
-
> [Recommended Agent Tooling](recommended-agent-tooling.md): Superpowers,
|
|
28
|
-
> Compound Engineering, and Ponytail are retired from the installed PGS stack;
|
|
29
|
-
> Matt skills remain a trigger-based library, and `capture-learning` preserves
|
|
30
|
-
> the small reusable-learning loop. The older analysis below is retained as
|
|
31
|
-
> decision history, not current guidance.
|
|
32
|
-
|
|
33
|
-
本文比较 4 套 AI agent 工作方法,观察时间点是 2026-07-06:
|
|
34
|
-
|
|
35
|
-
1. **Superpowers**
|
|
36
|
-
2. **Compound Engineering**
|
|
37
|
-
3. **Matt Pocock skills 主流程**
|
|
38
|
-
4. **Matt Pocock Wayfinder**
|
|
39
|
-
|
|
40
|
-
小学生版本:这 4 套东西都不是“更聪明的魔法咒语”。它们更像 4 个不同的帮手。
|
|
41
|
-
|
|
42
|
-
- Superpowers 像工地施工队长。
|
|
43
|
-
- Compound Engineering 像厨师的复盘菜谱本。
|
|
44
|
-
- Matt 主流程像采访员、产品经理、拆票员三个人排队帮你。
|
|
45
|
-
- Wayfinder 像走进大雾森林前的画地图的人。
|
|
46
|
-
|
|
47
|
-
## 版本和证据
|
|
48
|
-
|
|
49
|
-
这是一个时间点快照,不是永久真理。Wayfinder 现在变化尤其快。
|
|
50
|
-
|
|
51
|
-
| 系统 | 本次观察到的版本或来源 | 证据 |
|
|
52
|
-
| --- | --- | --- |
|
|
53
|
-
| PGS | 本地 package 版本 `0.4.0` | `package.json`,2026-07-06 检查 |
|
|
54
|
-
| Superpowers | 本机 Codex 插件 `6.1.1` | 本地 `.codex/plugins/cache/superpowers-dev/superpowers/6.1.1`;上游项目:[obra/superpowers](https://github.com/obra/superpowers) |
|
|
55
|
-
| Compound Engineering | 本机插件 `3.18.0` | 本地 `.codex/plugins/cache/compound-engineering-plugin/compound-engineering/3.18.0`;上游项目:[EveryInc/compound-engineering-plugin](https://github.com/EveryInc/compound-engineering-plugin) |
|
|
56
|
-
| Matt Pocock skills | PGS 本地 lock 记录 GitHub 来源和 hash,不记录 semver | 上游项目:[mattpocock/skills](https://github.com/mattpocock/skills);Skill Vault 在 2026-07-05 显示 `1.0.31`、commit `66f92b6` |
|
|
57
|
-
| Wayfinder | 属于 `mattpocock/skills`,2026-07-06 仍在 `skills/in-progress/wayfinder` | 上游文件:[Wayfinder SKILL.md](https://github.com/mattpocock/skills/blob/main/skills/in-progress/wayfinder/SKILL.md);GitHub Actions 显示 Wayfinder 已连续多次发布到 Release #46 |
|
|
58
|
-
|
|
59
|
-
重要提醒:PGS 本地 `wayfinder` 已在 2026-07-07 通过 `pro-gov assets npx update --skill wayfinder --plan` 更新到包含 **"Plan, don't do"** 和 destination 说明的新版。Wayfinder 仍处在高流动期,后续如果继续升级,需要重新复查这篇文档。
|
|
60
|
-
|
|
61
|
-
## 一句话结论
|
|
62
|
-
|
|
63
|
-
PGS 最稳的组合是:
|
|
64
|
-
|
|
65
|
-
- **Superpowers** 继续当默认工程流程负责人。
|
|
66
|
-
- **Compound Engineering** 继续当默认复利记录和经验沉淀工具。
|
|
67
|
-
- **Matt 主流程** 用在“想法还模糊,需要问清楚、写 PRD、拆 issue”的时候。
|
|
68
|
-
- **Wayfinder** 只用在“大到一个 session 装不下、前路还在雾里”的任务上。
|
|
69
|
-
|
|
70
|
-
Wayfinder 暂时不应该自动启动。它很有潜力,但现在更像侦察兵,不像自动驾驶车。要用它,最好满足 4 个条件:用户明确叫它、目的地说清楚、issue tracker 支持它的地图/子票规则、关键节点有人类确认。
|
|
71
|
-
|
|
72
|
-
## 两个贯穿例子
|
|
73
|
-
|
|
74
|
-
为了更好懂,下面一直用两个例子:
|
|
75
|
-
|
|
76
|
-
- **小安要开发一个 App。** 可能只是一个习惯打卡小工具,也可能是一个很大的 EMS 管理系统。
|
|
77
|
-
- **小宁要写一本小说。** 可能只是一本短篇推理,也可能是一个多卷本奇幻系列。
|
|
78
|
-
|
|
79
|
-
## Superpowers:工地施工队长
|
|
80
|
-
|
|
81
|
-
Superpowers 像工地施工队长。施工队长不会一上来就让人搬砖。他会先问:要建什么?图纸在哪里?怎么验收?有没有安全检查?
|
|
82
|
-
|
|
83
|
-
小安做 App 时,Superpowers 会帮:
|
|
84
|
-
|
|
85
|
-
- 问清楚这个功能到底要解决什么问题。
|
|
86
|
-
- 写计划。
|
|
87
|
-
- 尽量用 TDD,先写测试再实现。
|
|
88
|
-
- 完工前检查测试、review、分支状态。
|
|
89
|
-
|
|
90
|
-
小宁写小说时,Superpowers 也能帮一点,比如安排写作计划。但它脑子里更多是“软件工程施工”。如果小宁只是想探索人物和情绪,Superpowers 可能显得有点硬。
|
|
91
|
-
|
|
92
|
-
最适合:工程实现、调 bug、测试验证、分支收尾。
|
|
93
|
-
|
|
94
|
-
PGS 判断:Superpowers 继续做默认工程流程负责人。PGS 已在 [integrations/superpowers.md](../../../integrations/superpowers.md) 里这样定位。
|
|
95
|
-
|
|
96
|
-
## Compound Engineering:厨师的复盘菜谱本
|
|
97
|
-
|
|
98
|
-
Compound Engineering 像厨师的菜谱本。厨师这次做菜发现“火候应该小一点”“这个酱汁可以提前一天做”,就记下来。下次做同类菜,就不用重新踩坑。
|
|
99
|
-
|
|
100
|
-
小安做 App 时,CE 会帮:
|
|
101
|
-
|
|
102
|
-
- 修完一个难部署 bug 后,把可复用经验记下来。
|
|
103
|
-
- 下次遇到类似问题,AI 可以先读以前的经验。
|
|
104
|
-
- CE 也有计划、review、debug 等完整流程,但 PGS 默认不让它接管整条开发线。
|
|
105
|
-
|
|
106
|
-
小宁写小说时,CE 可以记录写作经验,比如“多卷本小说需要先做时间线表”。但如果只是自由创作,完整 CE 流程可能也会显得太工程化。
|
|
107
|
-
|
|
108
|
-
最适合:把一次工作变成下一次工作的优势。
|
|
109
|
-
|
|
110
|
-
PGS 判断:默认只用 **Compound Gate** 做经验沉淀。完整 CE 流程必须用户明确要求。见 [integrations/compound-engineering.md](../../../integrations/compound-engineering.md)。
|
|
111
|
-
|
|
112
|
-
## Matt 主流程:采访员 + 产品经理 + 拆票员
|
|
113
|
-
|
|
114
|
-
Matt 主流程像 3 个人接力:
|
|
115
|
-
|
|
116
|
-
1. 采访员先不停追问,把模糊想法问清楚。
|
|
117
|
-
2. 产品经理把答案整理成 PRD。
|
|
118
|
-
3. 拆票员把 PRD 切成一个个能独立完成的小 issue。
|
|
119
|
-
|
|
120
|
-
小安做 App 时:
|
|
121
|
-
|
|
122
|
-
- `/grill-with-docs` 像采访员,边问边更新项目上下文。
|
|
123
|
-
- `/to-prd` 像产品经理,把讨论整理成 PRD。
|
|
124
|
-
- `/to-issues` 像拆票员,把 PRD 拆成竖切 issue。
|
|
125
|
-
- `/implement` 像工程执行员,拿一个 issue 做 TDD、review、commit。
|
|
126
|
-
|
|
127
|
-
小宁写小说时:
|
|
128
|
-
|
|
129
|
-
- `/grill-me` 可以问清楚题材、主角、冲突、结尾。
|
|
130
|
-
- `/to-prd` 可以变成故事圣经或写作 brief。
|
|
131
|
-
- `/to-issues` 可以变成章节卡、设定任务、资料研究任务。
|
|
132
|
-
- 但它的形状还是偏“产品开发”,所以对纯文学创作可能有点像用项目管理工具写诗。
|
|
133
|
-
|
|
134
|
-
最适合:把模糊需求变成可保存、可拆分、可执行的东西。
|
|
135
|
-
|
|
136
|
-
PGS 判断:Matt skills 可以完整安装、原样使用,但它产生的原生产物不应该被 PGS 乱改。PGS 不应该为了 Doc Gov 给它的产物硬加 frontmatter。正确做法是:Matt 产物保留原味;只有当人明确决定“这个东西要升级为 PGS 治理真相”时,才另建或更新 PGS 文档。见 [integrations/mattpocock-skills.md](../../../integrations/mattpocock-skills.md)。
|
|
137
|
-
|
|
138
|
-
## Wayfinder:大雾森林里的画地图的人
|
|
139
|
-
|
|
140
|
-
Wayfinder 像你站在一片大雾森林前。你知道森林另一边可能有城堡,但不知道路在哪里,也不知道哪些桥断了。这时最聪明的事不是冲进去盖房子,而是先画地图。
|
|
141
|
-
|
|
142
|
-
小安做一个小习惯 App:
|
|
143
|
-
|
|
144
|
-
- 不建议用 Wayfinder。太重了。Matt 主流程或 Superpowers 就够。
|
|
145
|
-
|
|
146
|
-
小安做一个大型 EMS 系统:
|
|
147
|
-
|
|
148
|
-
- Wayfinder 可以创建一个 map issue。
|
|
149
|
-
- 然后创建子票,比如“决定权限模型”“研究 EMS 审计要求”“原型验证派单时间线 UI”“追问升级规则”。
|
|
150
|
-
- 每个 session 只解决一个票,把答案记回地图。
|
|
151
|
-
|
|
152
|
-
小宁写短篇推理:
|
|
153
|
-
|
|
154
|
-
- 一般不需要 Wayfinder。
|
|
155
|
-
|
|
156
|
-
小宁写多卷奇幻系列:
|
|
157
|
-
|
|
158
|
-
- Wayfinder 很可能有用。它可以画出“魔法规则是否影响经济”“第二卷由谁推动主线”“结局前必须先决定哪些世界观问题”等地图。
|
|
159
|
-
- 每张票解决一个大问题。
|
|
160
|
-
|
|
161
|
-
最适合:很大、很模糊、一个 session 装不下、下一步不清楚的工作。
|
|
162
|
-
|
|
163
|
-
PGS 判断:Wayfinder 只能显式调用。用户说 `/wayfinder`,或者清楚表达“我要为一个大而不清楚的任务画地图”,再用。
|
|
164
|
-
|
|
165
|
-
## 总对比表
|
|
166
|
-
|
|
167
|
-
| 维度 | Superpowers | Compound Engineering | Matt 主流程 | Wayfinder |
|
|
168
|
-
| --- | --- | --- | --- | --- |
|
|
169
|
-
| 小学生比喻 | 施工队长 | 复盘菜谱本 | 采访员 + 产品经理 + 拆票员 | 大雾地图师 |
|
|
170
|
-
| 主要工作 | 把代码小心做出来 | 让下一次工作更容易 | 把想法变成 PRD / issue / code | 在未知里找到路线 |
|
|
171
|
-
| 最适合规模 | 小到大的工程任务 | 重复出现的工程经验 | 中等复杂产品/功能 | 超大、模糊、多 session |
|
|
172
|
-
| 主要产物 | 计划、测试、review、分支收尾 | `docs/solutions/**` 等经验文档 | `CONTEXT.md`、ADR、PRD、issue | 一个 map issue + 多个 child ticket |
|
|
173
|
-
| 如何启动 | skill routing / session startup | 显式 CE skill 或 PGS Compound Gate | 通常显式 slash command | 显式 `/wayfinder` |
|
|
174
|
-
| 人类角色 | 批准计划和关键选择 | 判断什么值得沉淀 | 回答采访、批准 issue 颗粒度 | 批准目的地、地图、下一步 |
|
|
175
|
-
| 自主程度 | 中等 | PGS 默认低;完整 CE 时较高 | 中等 | 如果不设边界会偏高 |
|
|
176
|
-
| 停止条件 | 测试、review、分支完成 | 学习记录完成或跳过 | PRD / issue / implementation 完成 | 路线清楚,没有更多必须先决定的问题 |
|
|
177
|
-
| 最大优点 | 工程纪律强 | 真正复利 | 需求澄清和竖切很强 | 不假装大雾已经清楚 |
|
|
178
|
-
| 最大风险 | 小任务可能仪式太重 | 用多了会变流程负担 | 可能偏重、偏线性 | 可能造太多票,或选错下一步 |
|
|
179
|
-
| PGS 默认态度 | 默认工程负责人 | 默认复利尾巴 | 可选工具箱 | 显式侦察兵 |
|
|
180
|
-
|
|
181
|
-
## 外部证据和评论
|
|
182
|
-
|
|
183
|
-
### Wayfinder
|
|
184
|
-
|
|
185
|
-
一手来源:Wayfinder 自己说,它处理的是“一个 session 太大、路还在雾里”的工作。它会在 issue tracker 上建共享地图,然后一个 ticket 一个 ticket 解决,直到目的地路线清楚。最新版上游还明确说默认是 **Plan, don't do**:默认产出决策,不产出最终交付物,除非 map Notes 明确允许执行。来源:[Wayfinder SKILL.md](https://github.com/mattpocock/skills/blob/main/skills/in-progress/wayfinder/SKILL.md)。
|
|
186
|
-
|
|
187
|
-
GitHub Actions 显示 Wayfinder 近期更新非常密集,包括 destination/purpose、deferred section、native blocking、assignment claiming、plan big work 等。来源:[mattpocock/skills Actions](https://github.com/mattpocock/skills/actions)。
|
|
188
|
-
|
|
189
|
-
GitHub issue #450 报告了一个真实风险:Wayfinder 在 work-through-map 时没有充分追问资源冲突,导致一个部署任务影响了另一个已存在服务。来源:[Issue #450](https://github.com/mattpocock/skills/issues/450)。
|
|
190
|
-
|
|
191
|
-
用户提供的 2026-07-06 X 截图也显示两面性:有人觉得 Wayfinder 很震撼,但也观察到它可能继续执行错误的下一张票;Matt 回复说这不应该发生,听起来像 bug。这个证据说明:它很有潜力,但还不能当稳定自动驾驶。
|
|
192
|
-
|
|
193
|
-
PGS 解释:Wayfinder 是侦察兵,不是总司令。
|
|
194
|
-
|
|
195
|
-
### Matt 主流程
|
|
196
|
-
|
|
197
|
-
一手来源:Matt README 说这些 skills 是小而可组合、可改造、用于真实工程,不是 vibe coding。它把 `/grill-with-docs`、`CONTEXT.md`、`/to-prd`、`/to-issues`、`/tdd`、`/code-review` 组合成一个流程。来源:[mattpocock/skills](https://github.com/mattpocock/skills)。
|
|
198
|
-
|
|
199
|
-
公开 `to-issues` 指南说,它会把 PRD 拆成可独立抓取的竖切 issue,并让用户批准颗粒度和依赖。来源:[AI Hero to-issues guide](https://www.aihero.dev/skills-to-issues)。
|
|
200
|
-
|
|
201
|
-
外部评论是“有用但可能重”。有 Reddit 用户说 Matt 风格的 GitHub issues / TDD / audit loop 质量好,但也担心每个小 issue 都耗时较多。来源:[Reddit discussion](https://www.reddit.com/r/PiCodingAgent/comments/1t2tm5c/am_i_overengineering_matt_pococks_ai_coding/)。
|
|
202
|
-
|
|
203
|
-
另一个公开写法认为,这套流程适合触达多个模块的 feature/refactor,但不能替代人的判断。来源:[Danny Shmueli writeup](https://dannyshmueli.com/2026/04/29/Matt-Pocock-Skills-Hermes-Subagents-Feature-Work/)。
|
|
204
|
-
|
|
205
|
-
PGS 解释:Matt 主流程适合“把话问明白、把需求切小”。但不要为了治理洁癖去改它原生输出。
|
|
206
|
-
|
|
207
|
-
### Superpowers
|
|
208
|
-
|
|
209
|
-
一手来源:Superpowers 自称是基于 composable skills 和启动指令的软件开发方法论,覆盖 brainstorming、worktree、planning、subagent execution、TDD、debugging、review、verification。来源:[obra/superpowers](https://github.com/obra/superpowers)。
|
|
210
|
-
|
|
211
|
-
Superpowers 6 发布说明称,它在作者测试中更快、更省 token,并支持或改进了多个 coding agent,包括 Codex。来源:[Superpowers 6 announcement](https://blog.fsck.com/2026/06/15/Superpowers-6/)。
|
|
212
|
-
|
|
213
|
-
社区评论也分两面。有些用户喜欢它前半段:澄清假设、写 spec、识别风险、做计划。也有人认为它对小任务会太重,甚至更耗用量。来源:[Reddit ClaudeCode thread](https://www.reddit.com/r/ClaudeCode/comments/1uk7dzk/fable_5_and_superpowers_plugin/) 和 [Reddit Codex thread](https://www.reddit.com/r/codex/comments/1sp7di6/have_any_of_you_guys_been_using_the_superpower/)。
|
|
214
|
-
|
|
215
|
-
PGS 解释:Superpowers 仍然是最适合当默认工程负责人的,因为它端到端纪律强。但 PGS 需要保留轻量路径,小事不要被拖进大仪式。
|
|
216
|
-
|
|
217
|
-
### Compound Engineering
|
|
218
|
-
|
|
219
|
-
一手来源:CE 插件强调“每一次工程工作都应该让下一次更容易”,提供 `/ce-brainstorm`、`/ce-plan`、`/ce-code-review`、`/ce-compound` 等技能。来源:[EveryInc/compound-engineering-plugin](https://github.com/EveryInc/compound-engineering-plugin)。
|
|
220
|
-
|
|
221
|
-
Every 的 Compound Engineering 指南强调 safety nets、agent-native environment、parallel work、plan as artifact。来源:[Compound Engineering guide](https://every.to/guides/compound-engineering)。
|
|
222
|
-
|
|
223
|
-
Will Larson 的评论认为它是一个便宜、有用、值得试的实验,同时也提醒有些实践未来可能会被 agent harness 吸收。来源:[Lethain review](https://lethain.com/everyinc-compound-engineering/)。
|
|
224
|
-
|
|
225
|
-
PGS 解释:CE 最珍贵的是“把经验留下来”。但如果 CE 和 Superpowers 同时想当整个流程的老板,AI 就像同时听两个教练喊口令,会乱。PGS 因此让 Superpowers 默认负责施工,让 CE 默认负责复盘。
|
|
226
|
-
|
|
227
|
-
## 用 Loopy 外骨骼检查
|
|
228
|
-
|
|
229
|
-
`loopy` 技能说,一个好 loop 应该有 6 步:观察、选择、行动、验证、记录、重复或停止。它还要求有明确终点,比如成功、阻塞、需要批准、用尽、停滞。
|
|
230
|
-
|
|
231
|
-
把 4 套方法放进去看:
|
|
232
|
-
|
|
233
|
-
| 系统 | 观察 | 选择 | 行动 | 验证 | 记录 | 停止 |
|
|
234
|
-
| --- | --- | --- | --- | --- | --- | --- |
|
|
235
|
-
| Superpowers | 强:会问、会读代码 | 强:会写计划 | 强:会实现 | 强:测试/review | 中:计划和 review 记录 | 强,但要真的跑验证 |
|
|
236
|
-
| CE | 中:读任务上下文 | 中:CE plan/review | 中:可执行但 PGS 默认不用 | 中:review/check | 强:复利文档 | capture 很清楚,完整流程较重 |
|
|
237
|
-
| Matt 主流程 | 强:grilling/docs | 强:PRD/issues | 强:implement | 强:TDD/code review | 强:context/ADR/PRD/issues | 中:依赖 smart context hygiene |
|
|
238
|
-
| Wayfinder | 强:map/fog/tickets | 如果 frontier 对,就强 | 默认低:应该 plan,不应该 do | 中:依赖 ticket resolution 质量 | 强:map 和 resolution comments | 需要特别小心:一 session 一票 |
|
|
239
|
-
|
|
240
|
-
Loopy 角度的 PGS 结论:Wayfinder 最大问题不是“不聪明”,而是“权限和刹车”。地图必须写清楚什么时候问人、什么时候停、什么时候绝对不执行。
|
|
241
|
-
|
|
242
|
-
## 五轮真实评估迭代
|
|
243
|
-
|
|
244
|
-
### 第 1 轮:先看 PGS 边界
|
|
245
|
-
|
|
246
|
-
问题:PGS 能不能引入 Wayfinder,而不让 4 套方法互相打架?
|
|
247
|
-
|
|
248
|
-
判断:可以,但每套方法要分工清楚。
|
|
249
|
-
|
|
250
|
-
- Superpowers 负责默认工程施工。
|
|
251
|
-
- CE 负责默认经验复利。
|
|
252
|
-
- Matt 主流程负责需求澄清、PRD、issue 拆分。
|
|
253
|
-
- Wayfinder 负责大雾任务的地图。
|
|
254
|
-
|
|
255
|
-
我否掉的方案:让 Wayfinder 自动替代 Matt 旧流程。这太激进,像把整个施工队换成一张地图。
|
|
256
|
-
|
|
257
|
-
### 第 2 轮:看 Wayfinder 上游原意
|
|
258
|
-
|
|
259
|
-
问题:Wayfinder 自己到底说它是什么?
|
|
260
|
-
|
|
261
|
-
判断:它不是更强的 `/implement`。它更像“路线发现”和“决策地图”。上游最新版还明确写了默认 plan,不默认 do。
|
|
262
|
-
|
|
263
|
-
这改变了推荐:Wayfinder 不应该直接拿来替代实现流程。
|
|
264
|
-
|
|
265
|
-
### 第 3 轮:看外部评论是不是只有夸
|
|
266
|
-
|
|
267
|
-
问题:大家是在无脑夸,还是有真实问题?
|
|
268
|
-
|
|
269
|
-
判断:两者都有。
|
|
270
|
-
|
|
271
|
-
- 夸:有人觉得它能做以前不敢交给 AI 的大规划。
|
|
272
|
-
- 风险:GitHub issue #450 和用户截图都说明,它可能在下一步选择或冲突追问上出错。
|
|
273
|
-
|
|
274
|
-
这让 PGS 不应该过早自动化采用。
|
|
275
|
-
|
|
276
|
-
### 第 4 轮:用 Loopy 查循环质量
|
|
277
|
-
|
|
278
|
-
问题:4 套方法哪个循环最完整?
|
|
279
|
-
|
|
280
|
-
判断:
|
|
281
|
-
|
|
282
|
-
- Superpowers 和 Matt 主流程的“构建循环”更成熟。
|
|
283
|
-
- CE 的“记录/复利循环”最强。
|
|
284
|
-
- Wayfinder 的“观察/记录”很强,但“谁决定下一步”和“什么时候停止”需要额外护栏。
|
|
285
|
-
|
|
286
|
-
结论:Wayfinder 必须一 session 一票,chart map 后要人工确认,默认只做决策,不做执行。
|
|
287
|
-
|
|
288
|
-
### 第 5 轮:看 PGS 最小采用方式
|
|
289
|
-
|
|
290
|
-
问题:最小、稳妥、有价值的采用方式是什么?
|
|
291
|
-
|
|
292
|
-
判断:先写边界文档,不急着改运行规则。
|
|
293
|
-
|
|
294
|
-
如果后续要真正 operationalize Wayfinder,需要:
|
|
295
|
-
|
|
296
|
-
1. 保持 Matt skill pack 更新到包含最新版 Wayfinder 文案的版本。
|
|
297
|
-
2. 保持 PGS 中央 `docs/agents/issue-tracker.md` 有 Wayfinding operations。
|
|
298
|
-
3. 保持 Matt 原生产物不被 PGS 修改。
|
|
299
|
-
4. Doc Gov 继续忽略 Matt 原生产物,除非人工提升为治理文档。
|
|
300
|
-
5. 本地主控 AI 保留最终 merge / commit / push 权限。
|
|
301
|
-
|
|
302
|
-
## PGS 推荐路由
|
|
303
|
-
|
|
304
|
-
| 场景 | 推荐用什么 |
|
|
305
|
-
| --- | --- |
|
|
306
|
-
| 小而明确的代码修复 | Superpowers,必要时直接 TDD |
|
|
307
|
-
| 难 bug | Superpowers systematic debugging;有复用经验再 CE capture |
|
|
308
|
-
| 现有 repo 里的模糊功能想法 | Matt `/grill-with-docs`,然后可能 `/to-prd`、`/to-issues` |
|
|
309
|
-
| 已经有 PRD,需要拆票 | Matt `/to-issues` |
|
|
310
|
-
| 单个 issue 要实现 | Matt `/implement` 或 Superpowers 实现流程,看用户怎么叫 |
|
|
311
|
-
| 巨大、模糊、多 session 的任务 | Wayfinder |
|
|
312
|
-
| 工作结束后有可复用经验 | CE `/ce-compound` 或 PGS fallback capture |
|
|
313
|
-
| 小说、课程、非代码创作 | Matt grilling 或 Wayfinder;不要默认套 Superpowers 工程仪式 |
|
|
314
|
-
|
|
315
|
-
## 采用 Wayfinder 的护栏
|
|
316
|
-
|
|
317
|
-
如果 PGS 以后真正启用 Wayfinder,请保留这些护栏:
|
|
318
|
-
|
|
319
|
-
1. **只能显式启动。** 用户说 `/wayfinder`,或清楚要求“给大任务画地图”。
|
|
320
|
-
2. **必须说清目的地。** 没有目的地的地图,只是一堆便利贴。
|
|
321
|
-
3. **一个 session 只解决一张票。** 这样不会跑飞,也保护上下文。
|
|
322
|
-
4. **默认只计划,不执行。** 除非 map Notes 明确写这个 effort 包含执行。
|
|
323
|
-
5. **第一次 chart map 后要人工确认。** 不要一口气造几十张票然后自动往下冲。
|
|
324
|
-
6. **Matt 原生产物保持原味。** 不要为了 PGS Doc Gov 给 map tickets、PRD、scratch、context docs 硬加 frontmatter。
|
|
325
|
-
7. **要升级为 PGS 真相时,另行提升。** 也就是新建或更新受治理的 PGS 文档,而不是改原生产物。
|
|
326
|
-
8. **issue tracker 必须保留规则。** PGS 中央的 `docs/agents/issue-tracker.md` 必须包含 Wayfinding operations;正式跑之前先检查它还在。
|
|
327
|
-
|
|
328
|
-
## 最终建议
|
|
329
|
-
|
|
330
|
-
PGS 应该支持 Wayfinder,但不要把它封王。
|
|
331
|
-
|
|
332
|
-
最好的搭配是:
|
|
333
|
-
|
|
334
|
-
- **Superpowers**:平时工程施工。
|
|
335
|
-
- **Matt 主流程**:把模糊想法问清楚、写成 PRD、拆成 issue。
|
|
336
|
-
- **Wayfinder**:遇到巨大迷雾任务时先画地图。
|
|
337
|
-
- **CE**:工作结束后把可复用经验存下来。
|
|
338
|
-
|
|
339
|
-
用小孩能懂的话说:Superpowers 帮你盖树屋,Matt 主流程问清楚你想要什么树屋,Wayfinder 在你连哪棵树能爬都不知道时先画森林地图,CE 把“梯子怎么做更结实”记进小本本,下次少摔一次。
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
# Compound Engineering Integration (Retired)
|
|
2
|
-
|
|
3
|
-
PGS no longer requires the Compound Engineering plugin or a Compound Gate.
|
|
4
|
-
|
|
5
|
-
The retained idea is small: verified work sometimes produces a reusable lesson.
|
|
6
|
-
The PGS-owned `capture-learning` skill decides whether a lesson is worth keeping,
|
|
7
|
-
checks for duplicates, and writes it through `pro-gov learn capture`. There are
|
|
8
|
-
no Stop hooks, modes, plugin configuration, or mandatory final-report ceremony.
|
|
9
|
-
|
|
10
|
-
Historical `docs/solutions/**` records remain valid inputs to
|
|
11
|
-
`pro-gov learn recall`.
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
# Directed Development Integration
|
|
2
|
-
|
|
3
|
-
Directed Development is an optional workflow for mixed, cross-domain, interdependent product work.
|
|
4
|
-
|
|
5
|
-
It is not the default for every task.
|
|
6
|
-
|
|
7
|
-
It is a small PGS routing rule for cases where product work must be split into
|
|
8
|
-
ordered dependency-aware Blocks before execution.
|
|
9
|
-
|
|
10
|
-
## Boundary
|
|
11
|
-
|
|
12
|
-
Directed Development may define:
|
|
13
|
-
|
|
14
|
-
- ordered DD Blocks
|
|
15
|
-
- dependencies between Blocks
|
|
16
|
-
- BDD-style acceptance scenarios
|
|
17
|
-
- verification gates
|
|
18
|
-
|
|
19
|
-
Directed Development must not define:
|
|
20
|
-
|
|
21
|
-
- artifact locations
|
|
22
|
-
- optional skill invocation rules
|
|
23
|
-
- project document paths
|
|
24
|
-
- project lane names
|
|
25
|
-
- runtime truth
|
|
26
|
-
|
|
27
|
-
Those remain owned by the project and doc-gov.
|
|
28
|
-
|
|
29
|
-
Agents routing decides whether this workflow applies. Directed Development does
|
|
30
|
-
not replace the project router.
|
|
31
|
-
|
|
32
|
-
BDD-style scenarios are allowed only as acceptance language for a DD Block. They
|
|
33
|
-
do not turn Directed Development into a default BDD ceremony and do not replace
|
|
34
|
-
project-specific testing, debugging, or verification.
|
|
35
|
-
|
|
36
|
-
## Trigger
|
|
37
|
-
|
|
38
|
-
Use Directed Development only when all are true:
|
|
39
|
-
|
|
40
|
-
- the task is product work
|
|
41
|
-
- it crosses local lanes or shared contracts
|
|
42
|
-
- sequencing risk makes a flat plan unsafe
|
|
43
|
-
|
|
44
|
-
Doc-only projects do not use Directed Development unless explicitly opted in.
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
# Ponytail Integration (Retired)
|
|
2
|
-
|
|
3
|
-
PGS no longer requires or configures the Ponytail plugin.
|
|
4
|
-
|
|
5
|
-
Prefer the smallest correct implementation, reuse mature tools, and avoid
|
|
6
|
-
speculative abstractions as ordinary engineering judgment. A global mode and
|
|
7
|
-
prompt/session hooks are unnecessary for those principles.
|
|
8
|
-
|
|
9
|
-
This file remains only as a stable target for historical links.
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
# Superpowers Integration (Retired)
|
|
2
|
-
|
|
3
|
-
PGS no longer requires or routes through the Superpowers plugin.
|
|
4
|
-
|
|
5
|
-
The useful principles—understand before editing, diagnose root causes, verify
|
|
6
|
-
before claiming completion, and use tests proportionate to risk—are already part
|
|
7
|
-
of Codex and project-level engineering rules. Keeping a mandatory bootstrap
|
|
8
|
-
workflow duplicated those responsibilities and made small tasks unnecessarily
|
|
9
|
-
ceremonial.
|
|
10
|
-
|
|
11
|
-
This file remains only so historical decisions and links have a stable target.
|
|
12
|
-
Do not add Superpowers startup instructions or make it a portfolio requirement.
|