prd.md
1.75 KB
The "graphlemon-node-3ec92f23d2eb41568f74a8f39c4676f8" workflow (planner) completed successfully (1 agent, 1 retry due to a transient stall, 107,744 tokens, 43 tool calls, ~8 min).
Output: a PRD titled "Skill 详情页补齐「Skill 真实内容」展示", building on the approved BRD for the bug where #/skills/:skill_id/audit doesn't show a skill's real SKILL.md content. Key points:
- New
skill_query.pyfunction to readSKILL.mdplus listreferences/,templates/,scripts/support files, reusingskill_update._skill_file_path's existing path-resolution logic rather than duplicating it. - New read-only
GET /api/skills/:skill_id/contentendpoint matching the existing/api/skills/:skill_id/auditroute conventions, returning 404NOT_FOUNDfor both missing skills and path-traversal attempts (to avoid leaking probe information). - New "Skill 内容" panel on the
v_skill_audit_logpage, shown alongside (not replacing) the existing audit-log panel; rendered as plain<pre>text per the establishedv_artifact_browserconvention — no Markdown/highlighting dependencies added. - Explicit path-traversal defense, since this is the repo's first case of a URL path segment feeding directly into filesystem path construction.
- Required unit test coverage: normal read, skill not found, missing
SKILL.mdfile on disk, and traversal rejection — fullpython3 -m unittest discover -s srcmust still pass (441 existing tests). - Scope explicitly excludes: touching
skill_update.py's migration/write/rollback logic, per-file preview of support files, and any Markdown rendering.
Working tree is clean — no files were committed by this run; the PRD text is the planner node's output artifact for the next stage of the graphlemon Org Graph pipeline to consume.