You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Reduce concept density in frontmatter Part B, add Part C for token/usage metadata (#1405)
* Initial plan
* fix: reduce concept density in side-quest-11-08 and add Part C for token/usage metadata
- Trim side-quest-11-08-frontmatter-tools-outputs.md from ~23 concepts to ~13:
- Remove 'discussions' expansion hint from tools table
- Simplify safe-outputs descriptions
- Replace 4-point body explanation with 3 named conventions
- Replace 'gh aw compile --validate' with 'gh aw compile' per guidelines
- Expand checkpoint from 4 to 5 specific verifiable items
- Add link to new Part C
- Create side-quest-11-08b-frontmatter-usage-metadata.md (Part C):
- Covers token/usage metadata cluster: input_tokens, output_tokens,
stop_reason (end_turn, max_tokens, tool_use), model_metadata
- 9 concepts total, well within ≤15 threshold
- 4-item checkpoint, predict-and-try activity
- Update workshop/README.md to list the new Part C side quest
All files pass 'npx markdownlint-cli2 "**/*.md"' (136 files, 0 issues)
Closes#1399
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
* fix: remove inaccurate Part C; verify Part B accuracy against canonical workflow files
Part C (side-quest-11-08b-frontmatter-usage-metadata.md) introduced a
model_metadata/usage YAML block format that is not verifiable against actual
gh-aw Actions log output. The existing output documentation (09-understand-output.md)
uses emoji-prefixed lines (🤔 [plan], 🔧 [tool], 📥 [result]) — no token-count
block exists in any workshop file. Removing Part C and the links to it.
Part B accuracy verified:
- tools: / mode: gh-proxy / toolsets: [default] syntax confirmed against
multiple real workflow files (workshop-author.md, guidelines-enforcer.md, etc.)
and side-quest-17-01-mcp-concepts.md
- safe-outputs: / add-comment: / max: syntax confirmed against
side-quest-11-04-annotated-workflow.md and all compiled workflow files
- gh aw compile (no --validate) confirmed per authoring guidelines
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copy file name to clipboardExpand all lines: workshop/side-quest-11-08-frontmatter-tools-outputs.md
+22-22Lines changed: 22 additions & 22 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,14 +19,14 @@ tools:
19
19
toolsets: [default]
20
20
```
21
21
22
-
**What this section does:** Configures which external tools the AI agent can call during its run.
22
+
**What this section does:** Declares which external tool servers the agent may call during its run.
23
23
24
24
| Field | Purpose |
25
25
|-------|---------|
26
-
| `tools:` | Parent key listing every tool integration the agent may use. |
27
-
| `github:` | Enables the [GitHub MCP tool](https://github.github.com/gh-aw/guides/mcps/#github-mcp-server) — the interface the agent uses to call GitHub APIs (list issues, list PRs, check CI runs, etc.). |
28
-
| `mode: gh-proxy` | Routes API calls through a secure proxy that enforces the `permissions` declared above, preventing calls beyond what you've allowed. |
29
-
| `toolsets: [default]` | Activates the standard set of GitHub tools (issues, PRs, commits, actions). Add `discussions` to expand later. |
26
+
| `tools:` | Declares every tool server the agent is allowed to call. At least one entry is required for an agent that reads GitHub data. |
27
+
| `github:` | Connects the agent to the [GitHub MCP server](https://github.github.com/gh-aw/guides/mcps/#github-mcp-server) so it can query issues, pull requests, commits, and workflow runs. |
28
+
| `mode: gh-proxy` | Routes every GitHub API call through a proxy that enforces the `permissions:` you declared, blocking any call you have not pre-approved. |
29
+
| `toolsets: [default]` | Activates the standard GitHub toolset covering issues, pull requests, commits, and Actions runs. |
30
30
31
31
**✏️ Try it:** Add the `tools:` block to your draft file. Double-check that `mode` and `toolsets` are indented under `github:`.
32
32
@@ -42,13 +42,13 @@ safe-outputs:
42
42
max: 1
43
43
```
44
44
45
-
**What this section does:** Defines the _only_ write actions the agent is permitted to take. This is the safety guardrail that prevents the agent from doing anything you haven't explicitly approved.
45
+
**What this section does:** Lists every write action the agent is allowed to perform. Any write operation not listed here is blocked at runtime, regardless of what the agent body requests.
| `add-comment:` | Allows the agent to post a comment on an issue or pull request. |
51
-
| `max: 1` | Hard limit — the agent can post at most one comment per run. Extra posts are silently dropped. |
49
+
| `safe-outputs:` | Declares every write operation the agent may perform. Any write not listed here is silently blocked. |
50
+
| `add-comment:` | Permits the agent to post a comment on an issue or pull request. |
51
+
| `max: 1` | Caps the operation at one comment per run. A second attempt is silently dropped. |
52
52
53
53
> [!IMPORTANT]
54
54
> Without `safe-outputs`, the agent cannot write anything — even if you ask it to in the body. The YAML frontmatter is the source of truth for write access, not the prose instructions.
@@ -65,15 +65,15 @@ safe-outputs:
65
65
---
66
66
```
67
67
68
-
**What this section does:** Closes the YAML frontmatter. Everything below this line is the Markdown body — the agent's instructions.
68
+
**What this section does:** Closes the YAML frontmatter block. Everything below this line is the Markdown body — the agent's plain-English task brief.
69
69
70
70
**✏️ Try it:** Add the closing `---` to your draft. Confirm the file now has exactly two `---` fences.
71
71
72
72
---
73
73
74
-
## Section 7 — The Markdown body (agent instructions)
74
+
## Section 7 — The Markdown body
75
75
76
-
**🔍 Predict:** The agent must collect four data points from the repository. What four things would you list in the task brief?
76
+
**🔍 Predict:** The agent must collect four data points from the repository. What four things would you list?
77
77
78
78
```markdown
79
79
# Daily Repo Status Report
@@ -90,29 +90,29 @@ Collect and summarize:
90
90
91
91
## Guidelines
92
92
93
-
- Post only one comment. If you have already posted today, skip.
93
+
- Post only one comment per run. If you have already posted today, skip.
94
94
- Keep the report factual. Do not invent numbers.
95
95
- If no open issue exists, create one titled "Daily Status Reports" and post the first comment there.
96
96
```
97
97
98
-
**What this section does:** This is the plain-English brief you hand to the AI agent — a job description the agent reads at runtime.
98
+
**What this section does:** This is the plain-English brief the AI agent reads at runtime — a job description telling it what to collect and how to respond.
99
99
100
-
Key things to note:
100
+
Three conventions keep a task brief reliable:
101
101
102
-
- **Section headers** (`##`) are for human readability; the agent treats the whole body as a single prompt.
103
-
- **Numbered lists** help the agent approach tasks in order.
104
-
- **An output format template** (not shown above, but part of the full workflow) pins the exact text the agent should generate.
105
-
- **Guidelines** handle edge cases (already posted today, no open issues) so the agent doesn't have to guess.
102
+
- **A title and role statement** anchor the agent's purpose at the very top of the body.
103
+
- **A numbered task list** helps the agent work through each data point in a predictable order.
104
+
- **A guidelines block** handles edge cases — such as "already posted today" — so the agent does not have to guess.
106
105
107
-
**✏️ Try it:** Add the body below the closing `---` in your draft file, then run `gh aw compile --validate` to check for errors.
106
+
**✏️ Try it:** Add the body below the closing `---` in your draft file, then run `gh aw compile` to check for errors.
108
107
109
108
---
110
109
111
110
## ✅ Checkpoint
112
111
113
-
- [ ] You can explain what `mode: gh-proxy` does and why it matters
114
-
- [ ] You understand that `safe-outputs` is the true source of write access
112
+
- [ ] You can explain what `mode: gh-proxy` does and why it matters for security
113
+
- [ ] You understand that `safe-outputs` is the only source of write access — not the body text
115
114
- [ ] Your draft file has two `---` fences with the agent body below the second
115
+
- [ ] The agent body contains a title, a numbered task list, and a guidelines block
0 commit comments