Skip to content

agent.md files in .github/agents have truncated descriptions and contradict their own skill specs #12

@bburda

Description

@bburda

Summary

Files under .github/agents/pharaoh.*.agent.md are copied into user projects by pharaoh-setup. Three of them surface as review-time issues on downstream PRs and were flagged by GitHub Copilot Code Review on useblocks/sphinx-needs-demo#51.

(1) Truncated description: fields

pharaoh.write-plan.agent.md line 4:

description: Use when you have an intent (e.

pharaoh.toctree-emit.agent.md line 4:

description: Use when a composition skill has just emitted a set of RST files into a directory and needs to add (or regenerate) an `index.

Both end mid-sentence and break Markdown rendering (unmatched parenthesis in the first, unclosed backtick in the second). The pattern looks like the generator splits the source skill description on the first . character, which incorrectly catches e.g. and `index.rst`. The body of each file (line 7) shows the same truncation, suggesting both fields are derived from the same source string.

Likely root cause: the agent-frontmatter generator uses something like description.split('.', 1)[0] instead of a sentence-aware splitter or just-take-the-full-first-line.

(2) pharaoh.setup.agent.md contradicts skills/pharaoh-setup/SKILL.md

pharaoh.setup.agent.md line 71:

### Step 3: Configure .gitignore

Add `.pharaoh/` to `.gitignore` if not already present.

But skills/pharaoh-setup/SKILL.md Step 4b explicitly says:

Ignoring the whole tree is wrong, it hides .pharaoh/project/ tailoring which IS shared across the team. The skill ignores only the ephemeral subpaths.

The agent file therefore instructs Copilot to write a .gitignore rule that the skill itself rejects. Downstream PRs reviewed by Copilot flag the inconsistency.

Suggested fixes

  1. Replace the generator's first-period split with a sentence-aware splitter, or take the full first line of the description verbatim.
  2. Regenerate pharaoh.setup.agent.md from the SKILL.md spec, or hand-rewrite Step 3 to mirror Step 4b of the skill: narrow ignores only (.pharaoh/runs/, .pharaoh/plans/, .pharaoh/session.json, .pharaoh/cache/), with .pharaoh/project/ left tracked.

Repro

See review comments on useblocks/sphinx-needs-demo#51.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions