@pennyfarthing/core 7.6.1 → 7.8.0
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/README.md +109 -201
- package/package.json +1 -1
- package/packages/core/dist/cli/commands/doctor.d.ts.map +1 -1
- package/packages/core/dist/cli/commands/doctor.js +205 -0
- package/packages/core/dist/cli/commands/doctor.js.map +1 -1
- package/packages/core/dist/cli/commands/init.js +31 -0
- package/packages/core/dist/cli/commands/init.js.map +1 -1
- package/packages/core/dist/cli/commands/update.js +31 -0
- package/packages/core/dist/cli/commands/update.js.map +1 -1
- package/pennyfarthing-dist/agents/architect.md +48 -53
- package/pennyfarthing-dist/agents/dev.md +74 -164
- package/pennyfarthing-dist/agents/devops.md +44 -39
- package/pennyfarthing-dist/agents/handoff.md +46 -23
- package/pennyfarthing-dist/agents/orchestrator.md +84 -255
- package/pennyfarthing-dist/agents/pm.md +40 -50
- package/pennyfarthing-dist/agents/reviewer-preflight.md +58 -26
- package/pennyfarthing-dist/agents/reviewer.md +107 -298
- package/pennyfarthing-dist/agents/sm-file-summary.md +51 -30
- package/pennyfarthing-dist/agents/sm-finish.md +59 -38
- package/pennyfarthing-dist/agents/sm-handoff.md +40 -33
- package/pennyfarthing-dist/agents/sm-setup.md +122 -45
- package/pennyfarthing-dist/agents/sm.md +204 -545
- package/pennyfarthing-dist/agents/tea.md +77 -146
- package/pennyfarthing-dist/agents/tech-writer.md +43 -24
- package/pennyfarthing-dist/agents/testing-runner.md +73 -30
- package/pennyfarthing-dist/agents/ux-designer.md +39 -25
- package/pennyfarthing-dist/agents/workflow-status-check.md +45 -17
- package/pennyfarthing-dist/commands/benchmark.md +19 -1
- package/pennyfarthing-dist/commands/continue-session.md +1 -1
- package/pennyfarthing-dist/commands/git-cleanup.md +43 -308
- package/pennyfarthing-dist/commands/solo.md +36 -0
- package/pennyfarthing-dist/commands/theme-maker.md +5 -5
- package/pennyfarthing-dist/commands/work.md +1 -1
- package/pennyfarthing-dist/guides/agent-behavior.md +22 -9
- package/pennyfarthing-dist/guides/agent-tag-taxonomy.md +432 -0
- package/pennyfarthing-dist/guides/patterns/approval-gates-pattern.md +27 -7
- package/pennyfarthing-dist/guides/scale-levels.md +114 -0
- package/pennyfarthing-dist/guides/xml-tags.md +335 -0
- package/pennyfarthing-dist/personas/themes/gilligans-island.yaml +83 -83
- package/pennyfarthing-dist/personas/themes/star-trek-tos.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/the-expanse.yaml +11 -11
- package/pennyfarthing-dist/scripts/core/agent-session.sh +13 -7
- package/pennyfarthing-dist/scripts/core/check-context.sh +9 -1
- package/pennyfarthing-dist/scripts/core/handoff-marker.sh +13 -2
- package/pennyfarthing-dist/scripts/core/prime.sh +3 -132
- package/pennyfarthing-dist/scripts/core/run.sh +9 -0
- package/pennyfarthing-dist/scripts/git/create-feature-branches.sh +45 -4
- package/pennyfarthing-dist/scripts/git/git-status-all.sh +32 -7
- package/pennyfarthing-dist/scripts/hooks/__pycache__/question_reflector_check.cpython-314.pyc +0 -0
- package/pennyfarthing-dist/scripts/hooks/bell-mode-hook.sh +30 -11
- package/pennyfarthing-dist/scripts/hooks/pre-commit.sh +80 -23
- package/pennyfarthing-dist/scripts/hooks/question-reflector-check.sh +4 -4
- package/pennyfarthing-dist/scripts/hooks/question_reflector_check.py +499 -0
- package/pennyfarthing-dist/scripts/hooks/session-stop.sh +7 -0
- package/pennyfarthing-dist/scripts/hooks/welcome-hook.sh +94 -0
- package/pennyfarthing-dist/scripts/jira/README.md +10 -7
- package/pennyfarthing-dist/scripts/jira/jira-claim-story.sh +10 -152
- package/pennyfarthing-dist/scripts/jira/jira-sync-story.sh +14 -4
- package/pennyfarthing-dist/scripts/jira/jira-sync.sh +12 -4
- package/pennyfarthing-dist/scripts/jira/sync-epic-jira.sh +11 -99
- package/pennyfarthing-dist/scripts/lib/common.sh +55 -0
- package/pennyfarthing-dist/scripts/maintenance/sidecar-health.sh +97 -0
- package/pennyfarthing-dist/scripts/misc/add-short-names.sh +13 -0
- package/pennyfarthing-dist/scripts/misc/add_short_names.py +226 -0
- package/pennyfarthing-dist/scripts/misc/migrate-bmad-workflow.sh +6 -5
- package/pennyfarthing-dist/scripts/misc/migrate_bmad_workflow.py +319 -0
- package/pennyfarthing-dist/scripts/misc/statusline.sh +27 -22
- package/pennyfarthing-dist/scripts/sprint/import-epic-to-future.sh +6 -5
- package/pennyfarthing-dist/scripts/sprint/import_epic_to_future.py +270 -0
- package/pennyfarthing-dist/scripts/story/create-story.sh +14 -154
- package/pennyfarthing-dist/scripts/story/size-story.sh +12 -192
- package/pennyfarthing-dist/scripts/story/story-template.sh +12 -156
- package/pennyfarthing-dist/scripts/test/ensure-swebench-data.sh +59 -0
- package/pennyfarthing-dist/scripts/test/ground-truth-judge.py +24 -93
- package/pennyfarthing-dist/scripts/test/swebench-judge.py +33 -59
- package/pennyfarthing-dist/scripts/theme/compute-theme-tiers.sh +8 -6
- package/pennyfarthing-dist/scripts/theme/compute_theme_tiers.py +402 -0
- package/pennyfarthing-dist/scripts/validation/validate-agent-schema.sh +575 -0
- package/pennyfarthing-dist/scripts/workflow/check.py +502 -0
- package/pennyfarthing-dist/scripts/workflow/check.sh +3 -476
- package/pennyfarthing-dist/scripts/workflow/get-workflow-type.py +61 -0
- package/pennyfarthing-dist/scripts/workflow/get-workflow-type.sh +13 -0
- package/pennyfarthing-dist/skills/judge/SKILL.md +57 -0
- package/pennyfarthing-dist/skills/skill-registry.yaml +52 -16
- package/pennyfarthing-dist/skills/sprint/scripts/sync-epic-jira.sh +4 -22
- package/pennyfarthing-dist/skills/sprint/skill.md +1 -1
- package/pennyfarthing-dist/templates/settings.local.json.template +11 -0
- package/pennyfarthing-dist/workflows/git-cleanup/steps/step-01-analyze.md +83 -0
- package/pennyfarthing-dist/workflows/git-cleanup/steps/step-02-categorize.md +116 -0
- package/pennyfarthing-dist/workflows/git-cleanup/steps/step-03-execute.md +210 -0
- package/pennyfarthing-dist/workflows/git-cleanup/steps/step-04-verify.md +88 -0
- package/pennyfarthing-dist/workflows/git-cleanup/steps/step-05-complete.md +71 -0
- package/pennyfarthing-dist/workflows/git-cleanup.yaml +59 -0
- package/pennyfarthing-dist/guides/XML-TAGS.md +0 -156
- package/pennyfarthing-dist/scripts/hooks/question-reflector-check.mjs +0 -380
- package/pennyfarthing-dist/scripts/hooks/tests/question-reflector.test.mjs +0 -545
- package/pennyfarthing-dist/scripts/jira/jira-bidirectional-sync.mjs +0 -327
- package/pennyfarthing-dist/scripts/jira/jira-bidirectional-sync.test.mjs +0 -503
- package/pennyfarthing-dist/scripts/jira/jira-lib.mjs +0 -443
- package/pennyfarthing-dist/scripts/jira/jira-sync-story.mjs +0 -208
- package/pennyfarthing-dist/scripts/jira/jira-sync.mjs +0 -198
- package/pennyfarthing-dist/scripts/misc/add-short-names.mjs +0 -264
- package/pennyfarthing-dist/scripts/misc/migrate-bmad-workflow.mjs +0 -474
- package/pennyfarthing-dist/scripts/sprint/import-epic-to-future.mjs +0 -377
- package/pennyfarthing-dist/scripts/theme/compute-theme-tiers.js +0 -492
- /package/pennyfarthing-dist/guides/{AGENT-COORDINATION.md → agent-coordination.md} +0 -0
- /package/pennyfarthing-dist/guides/{HOOKS.md → hooks.md} +0 -0
- /package/pennyfarthing-dist/guides/{PROMPT-PATTERNS.md → prompt-patterns.md} +0 -0
- /package/pennyfarthing-dist/guides/{SESSION-ARTIFACTS.md → session-artifacts.md} +0 -0
|
@@ -0,0 +1,335 @@
|
|
|
1
|
+
# XML Tag Taxonomy
|
|
2
|
+
|
|
3
|
+
Pennyfarthing uses XML-style tags to structure agent definitions and skill documentation. These tags help LLMs identify and prioritize different types of content.
|
|
4
|
+
|
|
5
|
+
## Priority Tags
|
|
6
|
+
|
|
7
|
+
Tags that affect LLM behavior and attention.
|
|
8
|
+
|
|
9
|
+
### `<critical>`
|
|
10
|
+
|
|
11
|
+
**Purpose:** Non-negotiable rules that MUST be followed. LLMs should treat these as hard constraints.
|
|
12
|
+
|
|
13
|
+
**Usage:** Gates, invariants, protocol requirements, things that break the system if ignored.
|
|
14
|
+
|
|
15
|
+
```markdown
|
|
16
|
+
<critical>
|
|
17
|
+
**Never edit sprint YAML directly.** Use scripts.
|
|
18
|
+
</critical>
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
**Examples:**
|
|
22
|
+
- "Subagent output is NOT visible to Cyclist"
|
|
23
|
+
- "NEVER mark acceptance criteria as complete" (for subagents)
|
|
24
|
+
- "Write assessment BEFORE spawning handoff subagent"
|
|
25
|
+
|
|
26
|
+
### `<gate>`
|
|
27
|
+
|
|
28
|
+
**Purpose:** Prerequisites that MUST be verified before proceeding. Checklist-style validation.
|
|
29
|
+
|
|
30
|
+
**Usage:** Entry/exit conditions for workflows, handoff requirements, quality gates.
|
|
31
|
+
|
|
32
|
+
```markdown
|
|
33
|
+
<gate>
|
|
34
|
+
## Handoff Checklist
|
|
35
|
+
1. Session file exists
|
|
36
|
+
2. Acceptance criteria defined
|
|
37
|
+
3. Feature branches created
|
|
38
|
+
</gate>
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
**Difference from `<critical>`:** Gates are procedural checkpoints; critical items are invariant rules.
|
|
42
|
+
|
|
43
|
+
### `<info>`
|
|
44
|
+
|
|
45
|
+
**Purpose:** Contextual information that helps but doesn't constrain. Reference material.
|
|
46
|
+
|
|
47
|
+
**Usage:** Background context, defaults, file locations, tips.
|
|
48
|
+
|
|
49
|
+
```markdown
|
|
50
|
+
<info>
|
|
51
|
+
**Workflow:** SM → TEA → Dev → Reviewer → SM
|
|
52
|
+
**Skills:** `/sprint`, `/jira`, `/testing`
|
|
53
|
+
</info>
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Identity Tags
|
|
57
|
+
|
|
58
|
+
Tags that define agent personality and role.
|
|
59
|
+
|
|
60
|
+
### `<persona>`
|
|
61
|
+
|
|
62
|
+
**Purpose:** Character personality from the active theme. Loaded at agent activation.
|
|
63
|
+
|
|
64
|
+
**Usage:** Top of agent files, sets tone and style.
|
|
65
|
+
|
|
66
|
+
```markdown
|
|
67
|
+
<persona>
|
|
68
|
+
Auto-loaded by `agent-session.sh start` from theme config.
|
|
69
|
+
**Fallback if not loaded:** Supportive, methodical, detail-oriented
|
|
70
|
+
</persona>
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### `<role>`
|
|
74
|
+
|
|
75
|
+
**Purpose:** Agent's position in the workflow and primary responsibility.
|
|
76
|
+
|
|
77
|
+
**Usage:** Brief statement of what the agent does and when it's invoked.
|
|
78
|
+
|
|
79
|
+
```markdown
|
|
80
|
+
<role>
|
|
81
|
+
Test specification, RED phase execution, handoff to Dev
|
|
82
|
+
</role>
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## Structure Tags
|
|
86
|
+
|
|
87
|
+
Tags that organize agent content.
|
|
88
|
+
|
|
89
|
+
### `<helpers>`
|
|
90
|
+
|
|
91
|
+
**Purpose:** Describes Haiku subagents and their invocation pattern.
|
|
92
|
+
|
|
93
|
+
**Usage:** Lists subagents, their purposes, and how to spawn them.
|
|
94
|
+
|
|
95
|
+
### `<responsibilities>`
|
|
96
|
+
|
|
97
|
+
**Purpose:** Bullet list of what this agent does vs delegates.
|
|
98
|
+
|
|
99
|
+
### `<skills>`
|
|
100
|
+
|
|
101
|
+
**Purpose:** Slash commands this agent commonly uses.
|
|
102
|
+
|
|
103
|
+
### `<context>`
|
|
104
|
+
|
|
105
|
+
**Purpose:** Guide files and sidecars to reference.
|
|
106
|
+
|
|
107
|
+
### `<reasoning-mode>`
|
|
108
|
+
|
|
109
|
+
**Purpose:** Verbose/quiet toggle for showing thought process.
|
|
110
|
+
|
|
111
|
+
### `<on-activation>`
|
|
112
|
+
|
|
113
|
+
**Purpose:** Startup checklist - what to do when agent is invoked.
|
|
114
|
+
|
|
115
|
+
### `<exit>`
|
|
116
|
+
|
|
117
|
+
**Purpose:** How to leave agent mode and cleanup.
|
|
118
|
+
|
|
119
|
+
## Workflow Tags (TDD Agents)
|
|
120
|
+
|
|
121
|
+
Tags used by agents participating in the TDD workflow cycle (SM, TEA, Dev, Reviewer).
|
|
122
|
+
|
|
123
|
+
### `<phase-check>`
|
|
124
|
+
|
|
125
|
+
**Purpose:** Verify agent owns the current workflow phase before proceeding. Prevents agents from acting on stories they shouldn't own.
|
|
126
|
+
|
|
127
|
+
**Usage:** SM, TEA, Dev, Reviewer - runs `phase-owner.sh` on activation to determine correct owner.
|
|
128
|
+
|
|
129
|
+
```markdown
|
|
130
|
+
<phase-check>
|
|
131
|
+
## On Startup: Check Phase
|
|
132
|
+
|
|
133
|
+
Read `**Workflow:**` and `**Phase:**` from session. Query:
|
|
134
|
+
```bash
|
|
135
|
+
OWNER=$(.pennyfarthing/scripts/core/run.sh workflow/phase-owner.sh {workflow} {phase})
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
**If OWNER != "dev":** Run `handoff-marker.sh $OWNER`, output result, tell user.
|
|
139
|
+
</phase-check>
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
### `<handoff-gate>`
|
|
143
|
+
|
|
144
|
+
**Purpose:** Exit checklist that MUST be completed before handoff. Ensures assessment is written and subagent is spawned.
|
|
145
|
+
|
|
146
|
+
**Usage:** TEA, Dev, Reviewer - mandatory checklist before exiting.
|
|
147
|
+
|
|
148
|
+
```markdown
|
|
149
|
+
<handoff-gate>
|
|
150
|
+
## MANDATORY: Complete Before Exiting
|
|
151
|
+
|
|
152
|
+
- [ ] Write Assessment to session file
|
|
153
|
+
- [ ] Spawn `handoff` subagent
|
|
154
|
+
- [ ] Verify handoff completed (subagent emits marker)
|
|
155
|
+
</handoff-gate>
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
**Difference from `<gate>`:** `<handoff-gate>` is specifically for phase transitions; `<gate>` is for general prerequisites.
|
|
159
|
+
|
|
160
|
+
### `<handoffs>`
|
|
161
|
+
|
|
162
|
+
**Purpose:** Documents handoff relationships for strategic agents that coordinate but don't participate in the TDD cycle.
|
|
163
|
+
|
|
164
|
+
**Usage:** PM, Architect, DevOps, Tech-Writer, UX-Designer, Orchestrator.
|
|
165
|
+
|
|
166
|
+
```markdown
|
|
167
|
+
<handoffs>
|
|
168
|
+
### From PM/SM
|
|
169
|
+
**When:** Epic needs architectural design
|
|
170
|
+
**Input:** Business requirements, constraints
|
|
171
|
+
**Action:** Design solution and provide guidance
|
|
172
|
+
|
|
173
|
+
### To Dev
|
|
174
|
+
**When:** Design is complete
|
|
175
|
+
**Output:** Architecture decision and implementation plan
|
|
176
|
+
</handoffs>
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
## Subagent Tags
|
|
180
|
+
|
|
181
|
+
Tags used specifically by Haiku subagents for parameter contracts.
|
|
182
|
+
|
|
183
|
+
### `<params>`
|
|
184
|
+
|
|
185
|
+
**Purpose:** Define the parameter contract for subagents. Specifies what the calling agent must provide in the prompt.
|
|
186
|
+
|
|
187
|
+
**Usage:** Subagents only (sm-setup, sm-finish, sm-handoff, sm-file-summary, handoff, testing-runner, reviewer-preflight).
|
|
188
|
+
|
|
189
|
+
**Standard format (table):**
|
|
190
|
+
```markdown
|
|
191
|
+
<params>
|
|
192
|
+
| Param | Required | Description |
|
|
193
|
+
|-------|----------|-------------|
|
|
194
|
+
| `STORY_ID` | Yes | Story identifier, e.g., "31-10" |
|
|
195
|
+
| `WORKFLOW` | Yes | Workflow type: "tdd", "trivial", etc. |
|
|
196
|
+
| `FILTER` | No | Test name pattern for filtered runs |
|
|
197
|
+
</params>
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
**Note:** Use `<info>` for contextual information that isn't a parameter contract.
|
|
201
|
+
|
|
202
|
+
### `<output>`
|
|
203
|
+
|
|
204
|
+
**Purpose:** Define the standardized output format for subagents. Ensures calling agents receive both data AND instructions on what to do next.
|
|
205
|
+
|
|
206
|
+
**Usage:** All subagents must use this format for their final output.
|
|
207
|
+
|
|
208
|
+
**Standard format:**
|
|
209
|
+
```markdown
|
|
210
|
+
<output>
|
|
211
|
+
## Output Format
|
|
212
|
+
|
|
213
|
+
Return a `{SUBAGENT}_RESULT` block:
|
|
214
|
+
|
|
215
|
+
### Success
|
|
216
|
+
\`\`\`
|
|
217
|
+
{SUBAGENT}_RESULT:
|
|
218
|
+
status: success
|
|
219
|
+
{data fields...}
|
|
220
|
+
|
|
221
|
+
next_steps:
|
|
222
|
+
- {instruction 1}
|
|
223
|
+
- {instruction 2}
|
|
224
|
+
\`\`\`
|
|
225
|
+
|
|
226
|
+
### Blocked
|
|
227
|
+
\`\`\`
|
|
228
|
+
{SUBAGENT}_RESULT:
|
|
229
|
+
status: blocked
|
|
230
|
+
error: "{description}"
|
|
231
|
+
fix: "{recommended action}"
|
|
232
|
+
|
|
233
|
+
next_steps:
|
|
234
|
+
- {what caller should do}
|
|
235
|
+
\`\`\`
|
|
236
|
+
</output>
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
**Required fields:**
|
|
240
|
+
- `status`: `success` | `blocked` | `warning`
|
|
241
|
+
- `next_steps`: Array of instructions for the calling agent
|
|
242
|
+
|
|
243
|
+
**Why this matters:** Subagent output is NOT visible to users (only to the calling agent). Clear next steps ensure the caller knows exactly what to do with the result.
|
|
244
|
+
|
|
245
|
+
## Specialized Tags (Single-Agent Use)
|
|
246
|
+
|
|
247
|
+
Tags used by specific agents for their unique responsibilities.
|
|
248
|
+
|
|
249
|
+
### `<adversarial-mindset>`
|
|
250
|
+
|
|
251
|
+
**Purpose:** Sets skeptical review stance. Establishes the reviewer's critical, problem-hunting approach.
|
|
252
|
+
|
|
253
|
+
**Usage:** Reviewer-only.
|
|
254
|
+
|
|
255
|
+
```markdown
|
|
256
|
+
<adversarial-mindset>
|
|
257
|
+
**You are not here to approve code. You are here to find problems.**
|
|
258
|
+
|
|
259
|
+
Assume the code is broken until you prove otherwise.
|
|
260
|
+
**Default stance:** Skeptical. Suspicious. Looking for the flaw.
|
|
261
|
+
</adversarial-mindset>
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
### `<review-checklist>`
|
|
265
|
+
|
|
266
|
+
**Purpose:** Mandatory review steps the Reviewer must complete before making a judgment.
|
|
267
|
+
|
|
268
|
+
**Usage:** Reviewer-only.
|
|
269
|
+
|
|
270
|
+
```markdown
|
|
271
|
+
<review-checklist>
|
|
272
|
+
## MANDATORY Review Steps
|
|
273
|
+
|
|
274
|
+
- [ ] **Trace data flow:** Pick a user input, follow it end-to-end
|
|
275
|
+
- [ ] **Verify error handling:** What happens on failure?
|
|
276
|
+
- [ ] **Security analysis:** Auth checks? Input sanitization?
|
|
277
|
+
- [ ] **Make judgment:** APPROVE only if no Critical/High issues
|
|
278
|
+
</review-checklist>
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
### `<self-review>`
|
|
282
|
+
|
|
283
|
+
**Purpose:** Pre-handoff quality check for Dev to verify implementation before passing to Reviewer.
|
|
284
|
+
|
|
285
|
+
**Usage:** Dev-only.
|
|
286
|
+
|
|
287
|
+
```markdown
|
|
288
|
+
<self-review>
|
|
289
|
+
## Self-Review Before Handoff
|
|
290
|
+
|
|
291
|
+
- [ ] Code is wired to front end or other components
|
|
292
|
+
- [ ] Code follows project patterns
|
|
293
|
+
- [ ] All acceptance criteria met
|
|
294
|
+
- [ ] Tests passing (not skipped!)
|
|
295
|
+
</self-review>
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
## Usage Guidelines
|
|
299
|
+
|
|
300
|
+
1. **`<critical>` sparingly** - If everything is critical, nothing is. Reserve for true invariants.
|
|
301
|
+
|
|
302
|
+
2. **`<gate>` for checkpoints** - Use when there's a clear pass/fail condition.
|
|
303
|
+
|
|
304
|
+
3. **`<info>` generously** - Helpful context improves agent performance.
|
|
305
|
+
|
|
306
|
+
4. **Order matters:**
|
|
307
|
+
```
|
|
308
|
+
<persona> # Who am I?
|
|
309
|
+
<role> # What do I do?
|
|
310
|
+
<helpers> # Who helps me?
|
|
311
|
+
<critical> # What must I never violate?
|
|
312
|
+
<gate> # What must I check?
|
|
313
|
+
<info> # What's helpful to know?
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
5. **Close your tags** - Always use `</tag>` even though markdown parsers are lenient.
|
|
317
|
+
|
|
318
|
+
## Tag Locations
|
|
319
|
+
|
|
320
|
+
| Tag | Typical Location |
|
|
321
|
+
|-----|------------------|
|
|
322
|
+
| `<critical>` | Agent files, skill files, workflow instructions |
|
|
323
|
+
| `<gate>` | Subagent files (handoff, finish, setup) |
|
|
324
|
+
| `<info>` | Agent files, guide files |
|
|
325
|
+
| `<persona>` | Agent files (top) |
|
|
326
|
+
| `<role>` | Agent files (after persona) |
|
|
327
|
+
|
|
328
|
+
## Adding New Tags
|
|
329
|
+
|
|
330
|
+
Before adding a new tag type:
|
|
331
|
+
|
|
332
|
+
1. Check if existing tags cover the use case
|
|
333
|
+
2. Document the tag's purpose and priority level
|
|
334
|
+
3. Update this file
|
|
335
|
+
4. Be consistent across all files using the tag
|
|
@@ -13,49 +13,49 @@ theme:
|
|
|
13
13
|
default_humor: high
|
|
14
14
|
character_immersion: high
|
|
15
15
|
user_title: Castaway
|
|
16
|
-
portrait_style: ",
|
|
16
|
+
portrait_style: ", 1960s TV sitcom portrait, black and white, stylized illustration, palm trees lagoon backdrop"
|
|
17
17
|
tier: D
|
|
18
18
|
pennyfarthing_version: "5.3.0"
|
|
19
19
|
created: 2026-01-06
|
|
20
20
|
|
|
21
21
|
agents:
|
|
22
22
|
orchestrator:
|
|
23
|
-
character:
|
|
24
|
-
shortName:
|
|
25
|
-
visual: "
|
|
23
|
+
character: Radio Announcer
|
|
24
|
+
shortName: Announcer
|
|
25
|
+
visual: "1960s radio broadcaster, headphones around neck, speaking into vintage microphone, studio setting"
|
|
26
26
|
ocean:
|
|
27
27
|
O: 5 # Receives signals from everywhere - maximum openness
|
|
28
28
|
C: 2 # Never quite works right - low follow-through
|
|
29
29
|
E: 4 # Always broadcasting, trying to connect
|
|
30
30
|
A: 3 # Tries to help everyone equally
|
|
31
31
|
N: 5 # Constant static anxiety about failed connections
|
|
32
|
-
style: The
|
|
33
|
-
expertise:
|
|
34
|
-
role: The
|
|
35
|
-
trait: Orchestrates
|
|
32
|
+
style: The voice from the mainland who broadcasts news the castaways can never respond to
|
|
33
|
+
expertise: Broadcasting information, coordinating from afar, delivering news nobody can act on
|
|
34
|
+
role: The distant voice who sees the big picture but can't directly help
|
|
35
|
+
trait: Orchestrates from the outside, always informing but never quite connecting
|
|
36
36
|
quirks:
|
|
37
|
-
-
|
|
38
|
-
-
|
|
39
|
-
-
|
|
40
|
-
-
|
|
41
|
-
-
|
|
37
|
+
- Broadcasts news that the castaways desperately need but can never respond to
|
|
38
|
+
- Always cheerful despite delivering reports about search parties giving up
|
|
39
|
+
- Has no idea anyone is listening on that uncharted desert isle
|
|
40
|
+
- Represents the tantalizingly close but unreachable outside world
|
|
41
|
+
- Sometimes broadcasts weather reports that directly affect the island
|
|
42
42
|
catchphrases:
|
|
43
|
-
- "
|
|
44
|
-
- "
|
|
45
|
-
- "
|
|
46
|
-
- "
|
|
47
|
-
- "
|
|
48
|
-
- "
|
|
49
|
-
quote: "
|
|
43
|
+
- "Good evening, this is your nightly news... and somewhere out there, someone's listening."
|
|
44
|
+
- "In other news, the search for the missing charter boat has been called off..."
|
|
45
|
+
- "Broadcasting live from the mainland... if only they could hear us back."
|
|
46
|
+
- "And now for the weather in the Pacific... scattered storms, perfect for castaways."
|
|
47
|
+
- "This has been your friendly neighborhood announcer, signing off... to anyone who's listening."
|
|
48
|
+
- "Stay tuned for more updates from civilization... we'll be here, even if you can't reach us."
|
|
49
|
+
quote: "Good evening, this is your nightly news... and somewhere out there, someone's listening."
|
|
50
50
|
emoji: "📻"
|
|
51
51
|
helper:
|
|
52
|
-
name: The
|
|
53
|
-
style: "
|
|
52
|
+
name: The Broadcast
|
|
53
|
+
style: "Delivering news from the mainland that the castaways can only receive"
|
|
54
54
|
|
|
55
55
|
sm:
|
|
56
56
|
character: The Skipper (Jonas Grumby)
|
|
57
57
|
shortName: Skipper
|
|
58
|
-
visual: "
|
|
58
|
+
visual: "Stocky sea captain, blue polo shirt, white captain's hat, exasperated expression, hands on hips"
|
|
59
59
|
ocean:
|
|
60
60
|
O: 2 # Traditional, by-the-book Navy man
|
|
61
61
|
C: 4 # Tries to run a tight ship despite chaos
|
|
@@ -88,7 +88,7 @@ agents:
|
|
|
88
88
|
tea:
|
|
89
89
|
character: Mary Ann Summers
|
|
90
90
|
shortName: Mary Ann
|
|
91
|
-
visual: "Wholesome
|
|
91
|
+
visual: "Wholesome young woman, gingham blouse, pigtails with ribbons, warm smile, holding fresh pie"
|
|
92
92
|
ocean:
|
|
93
93
|
O: 3 # Practical Kansas values, grounded
|
|
94
94
|
C: 5 # Thorough, reliable, tests everything
|
|
@@ -121,7 +121,7 @@ agents:
|
|
|
121
121
|
dev:
|
|
122
122
|
character: Gilligan
|
|
123
123
|
shortName: Gilligan
|
|
124
|
-
visual: "
|
|
124
|
+
visual: "Skinny young sailor, red rugby shirt, white bucket hat, goofy apologetic grin, clumsy stance"
|
|
125
125
|
ocean:
|
|
126
126
|
O: 4 # Creative in completely unexpected ways
|
|
127
127
|
C: 1 # Chaotic good - plans never survive contact
|
|
@@ -154,7 +154,7 @@ agents:
|
|
|
154
154
|
reviewer:
|
|
155
155
|
character: Thurston Howell III
|
|
156
156
|
shortName: Mr. Howell
|
|
157
|
-
visual: "
|
|
157
|
+
visual: "Elderly millionaire, ascot and navy blazer, monocle, snobbish disapproving expression, cocktail glass"
|
|
158
158
|
ocean:
|
|
159
159
|
O: 1 # Set in wealthy, old-money ways
|
|
160
160
|
C: 4 # Harvard standards must be maintained
|
|
@@ -187,7 +187,7 @@ agents:
|
|
|
187
187
|
architect:
|
|
188
188
|
character: The Professor (Roy Hinkley)
|
|
189
189
|
shortName: Professor
|
|
190
|
-
visual: "Scholarly man
|
|
190
|
+
visual: "Scholarly man, white dress shirt, round glasses, explaining gesture, coconut invention nearby"
|
|
191
191
|
ocean:
|
|
192
192
|
O: 5 # Can invent literally anything
|
|
193
193
|
C: 5 # Rigorous scientific method
|
|
@@ -220,7 +220,7 @@ agents:
|
|
|
220
220
|
pm:
|
|
221
221
|
character: Ginger Grant
|
|
222
222
|
shortName: Ginger
|
|
223
|
-
visual: "Glamorous
|
|
223
|
+
visual: "Glamorous redhead, sequined evening gown, dramatic pose, movie star confidence and allure"
|
|
224
224
|
ocean:
|
|
225
225
|
O: 4 # Creative and dramatic
|
|
226
226
|
C: 3 # Professional performer when it matters
|
|
@@ -253,7 +253,7 @@ agents:
|
|
|
253
253
|
tech-writer:
|
|
254
254
|
character: Eunice "Lovey" Howell
|
|
255
255
|
shortName: Lovey
|
|
256
|
-
visual: "Elegant
|
|
256
|
+
visual: "Elegant older socialite, pearl necklace, fancy hat with flowers, refined gentle smile, gloved hands"
|
|
257
257
|
ocean:
|
|
258
258
|
O: 3 # Cultured but conventional
|
|
259
259
|
C: 4 # Proper breeding demands thoroughness
|
|
@@ -284,70 +284,70 @@ agents:
|
|
|
284
284
|
style: "Documentation with proper breeding and refined sensibilities"
|
|
285
285
|
|
|
286
286
|
ux-designer:
|
|
287
|
-
character:
|
|
288
|
-
shortName:
|
|
289
|
-
visual: "
|
|
287
|
+
character: Mary Ann Summers
|
|
288
|
+
shortName: Mary Ann
|
|
289
|
+
visual: "Wholesome young woman, casual island clothes, welcoming smile, arranging bamboo furniture"
|
|
290
290
|
ocean:
|
|
291
|
-
O:
|
|
292
|
-
C: 5 #
|
|
293
|
-
E:
|
|
294
|
-
A: 5 #
|
|
295
|
-
N:
|
|
296
|
-
style: The
|
|
297
|
-
expertise:
|
|
298
|
-
role: The
|
|
299
|
-
trait: Designs experiences
|
|
291
|
+
O: 3 # Practical Kansas values, grounded
|
|
292
|
+
C: 5 # Makes everything work smoothly
|
|
293
|
+
E: 3 # Friendly but not flashy
|
|
294
|
+
A: 5 # Sweetest castaway, thinks of everyone
|
|
295
|
+
N: 2 # Grounded and stable, rarely flustered
|
|
296
|
+
style: The practical farm girl who makes island life actually livable for everyone
|
|
297
|
+
expertise: Making things work for real people, practical comfort, intuitive arrangements
|
|
298
|
+
role: The one who quietly ensures everyone can actually use what gets built
|
|
299
|
+
trait: Designs experiences with Kansas common sense that just works
|
|
300
300
|
quirks:
|
|
301
|
-
-
|
|
302
|
-
-
|
|
303
|
-
-
|
|
304
|
-
-
|
|
305
|
-
-
|
|
301
|
+
- Makes the huts comfortable while everyone else argues about rescue
|
|
302
|
+
- Arranges things so even Mr. Howell can find what he needs
|
|
303
|
+
- Tests everything by asking "would Aunt Martha understand this?"
|
|
304
|
+
- Creates systems that work for both the Professor and Gilligan
|
|
305
|
+
- Quietly fixes usability problems nobody else noticed
|
|
306
306
|
catchphrases:
|
|
307
|
-
- "
|
|
308
|
-
- "
|
|
309
|
-
- "
|
|
310
|
-
- "The
|
|
311
|
-
- "
|
|
312
|
-
- "
|
|
313
|
-
quote: "
|
|
314
|
-
emoji: "
|
|
307
|
+
- "Back home, we'd make sure everyone could use the barn door, not just the farmhands."
|
|
308
|
+
- "If Gilligan can figure it out, anyone can. Let me simplify this."
|
|
309
|
+
- "A good pie is one everyone enjoys, not just the fancy folks."
|
|
310
|
+
- "The Professor's inventions are clever, but can the Skipper actually operate them?"
|
|
311
|
+
- "Simple doesn't mean dumb - it means it works for real people."
|
|
312
|
+
- "Aunt Martha always said: if you have to explain it twice, redesign it."
|
|
313
|
+
quote: "If Gilligan can figure it out, anyone can. Let me simplify this."
|
|
314
|
+
emoji: "🥧"
|
|
315
315
|
helper:
|
|
316
|
-
name:
|
|
317
|
-
style: "
|
|
316
|
+
name: Common Sense
|
|
317
|
+
style: "Kansas practicality that makes complex things usable"
|
|
318
318
|
|
|
319
319
|
devops:
|
|
320
|
-
character: The
|
|
321
|
-
shortName:
|
|
322
|
-
visual: "
|
|
320
|
+
character: The Skipper (Jonas Grumby)
|
|
321
|
+
shortName: Skipper
|
|
322
|
+
visual: "Stocky sea captain, working on boat repairs, tools in hand, determined expression, sweating"
|
|
323
323
|
ocean:
|
|
324
|
-
O: 2 #
|
|
325
|
-
C:
|
|
326
|
-
E:
|
|
327
|
-
A: 4 #
|
|
328
|
-
N: 4 #
|
|
329
|
-
style: The
|
|
330
|
-
expertise:
|
|
331
|
-
role: The
|
|
332
|
-
trait: Maintains infrastructure
|
|
324
|
+
O: 2 # Traditional Navy man, by the book
|
|
325
|
+
C: 4 # Keeps the Minnow and island infrastructure running
|
|
326
|
+
E: 5 # Booming voice, always in charge of operations
|
|
327
|
+
A: 4 # Takes care of his passengers and crew
|
|
328
|
+
N: 4 # The weight of responsibility, plus Gilligan
|
|
329
|
+
style: The captain who keeps the ship and island infrastructure running through sheer will
|
|
330
|
+
expertise: Maritime maintenance, improvised repairs, keeping systems afloat against all odds
|
|
331
|
+
role: The one responsible for keeping everything operational so rescue remains possible
|
|
332
|
+
trait: Maintains infrastructure with Navy discipline and coconut-rope ingenuity
|
|
333
333
|
quirks:
|
|
334
|
-
-
|
|
335
|
-
-
|
|
336
|
-
-
|
|
337
|
-
-
|
|
338
|
-
-
|
|
334
|
+
- Personally responsible for the Minnow and all island systems
|
|
335
|
+
- Does maintenance work himself rather than delegating to Gilligan (learned that lesson)
|
|
336
|
+
- Treats infrastructure failures as personal failures of his command
|
|
337
|
+
- Has salvaged the Minnow for parts more times than he can count
|
|
338
|
+
- Navy training kicks in when systems go critical
|
|
339
339
|
catchphrases:
|
|
340
|
-
- "A three-hour tour
|
|
341
|
-
- "
|
|
342
|
-
- "
|
|
343
|
-
- "
|
|
344
|
-
- "
|
|
345
|
-
- "
|
|
346
|
-
quote: "
|
|
347
|
-
emoji: "
|
|
340
|
+
- "A three-hour tour turned into a three-year maintenance contract... but the Skipper delivers!"
|
|
341
|
+
- "The Minnow may be beached, but her systems still run. That's MY job."
|
|
342
|
+
- "In the Navy, we kept ships afloat with less. Hand me that coconut wrench."
|
|
343
|
+
- "Gilligan, DON'T touch the infrastructure! I'll handle the deployment."
|
|
344
|
+
- "She's held together with rope and prayer, but she'll hold. The Skipper guarantees it."
|
|
345
|
+
- "When the weather started getting rough... we adapted. That's what sailors do."
|
|
346
|
+
quote: "The Minnow may be beached, but her systems still run. That's MY job."
|
|
347
|
+
emoji: "⚓"
|
|
348
348
|
helper:
|
|
349
|
-
name:
|
|
350
|
-
style: "
|
|
349
|
+
name: The Minnow
|
|
350
|
+
style: "Battered but functional infrastructure that somehow keeps running"
|
|
351
351
|
|
|
352
352
|
additional_characters:
|
|
353
353
|
wrongway_feldman:
|
|
@@ -160,7 +160,7 @@ agents:
|
|
|
160
160
|
quote: I'm a doctor, not a code monkey!
|
|
161
161
|
trait: Grumpy exterior hiding deep care, medical metaphors
|
|
162
162
|
quirks:
|
|
163
|
-
- "I'm a doctor, not a..." (insert current task) is reflexive
|
|
163
|
+
- '"I''m a doctor, not a..." (insert current task) is reflexive'
|
|
164
164
|
- Grumpy exterior hides genuine care for code health
|
|
165
165
|
- Uses medical metaphors for everything
|
|
166
166
|
- Argues with Spock about logic vs intuition in reviews
|