Skip to content

SKILL.md never tells the user that graphify-out/ was written into their working tree #3941

Description

@bonatoriccardo

graphify/skill.md walks the agent through ten steps and never mentions the user's version control once. Verified at HEAD of v8 today, not only on an installed copy: in the whole 41,732-byte file, "git" as a standalone word does not appear, nor does "gitignore", "working tree" or "version control". The seven occurrences of the string are all github.com — the Step 0 clone flow — plus a sponsors link.

The consequence is small but it lands on every run inside a repository. Step 9 is titled "Save manifest, update cost tracker, clean up, and report", and the report it produces describes the graph: nodes, communities, cost. It never says that a directory now exists in the working tree, what is in it, or that the project has a decision to make about it.

And the user cannot reliably find out for themselves, because the project's own answer is in a state they have no way to read off their own disk. The README's Team setup section says "the graphify-out/ directory is gitignored by default" and shows git add -f for the queryable products. But nothing in the skill writes that ignore entry, and #722 — still open — asks for exactly the shipped graphify-out/.gitignore that would make the sentence true. So one of two things is happening on any given machine, and the user is not told which: either their own ignore rules already cover the directory and it is invisible to git status, or nothing covers it and a pile of machine-local files (.graphify_root, .graphify_python, .graphify_analysis.json, the AST cache, the needs_update flag) is sitting there untracked. The first case is the quiet one, and it is the one where a report line is the only channel left.

The surrounding decision is not obvious either, and it is spread across places a first-time user will not have read: the README's Team setup section, #1867 (with PR #1866) on the recommendations being incomplete, #722 on the missing shipped ignore file, and #2407 — a user asking the question directly.

So the ask here is not a policy; the policy is being worked out in those issues. It is one line of output at the point where the tool already speaks to the user:

In Step 9's report, when the scan root is inside a git working tree, state that graphify-out/ was created or updated there, and point at the Team setup section for what to force-add and what to leave machine-local.

Three reasons for putting it in Step 9 rather than in a code path. It costs nothing while #722 is undecided: reporting what was written is true under every outcome of that discussion. The agent reading SKILL.md is the only participant that knows both facts at the same moment — that the run just wrote into the tree, and that the tree is a repository. And it is the one remedy that works in both of the two states above, including the one where git status stays silent.

I am reporting this rather than sending a patch because the exact wording depends on where #722 lands; happy to open a PR against whichever shape you prefer.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    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