Files
gitea/skills/wiki/SKILL.md
T
jiantw83andClaude Fable 5 653b619ea1 feat(wiki): wiki 頁型允許清單新增 LEARN
What:gitea.sh 的 wiki-repo 允許型別清單、wiki 技能 SKILL.md 的頁型清單,以及 check-wiki-rules.sh 的驗證案例,同步收錄 LEARN 頁型。
Why:jsc-log 新增 LEARN wiki 頁型,若允許清單未收錄,wiki-repo LEARN 會以 unknown type(exit 2)被擋下,學習紀錄頁無法解析存放位置。
How:resolve_wiki_repo 的 case 白名單加入 LEARN,解析順序維持 JSC_WIKI_REPO_LEARN 優先、退回 JSC_WIKI_REPO、不跨型別代用;check-wiki-rules.sh 補上 LEARN 專屬變數優先與退回共用預設兩個案例;SKILL.md 允許頁型清單同步更新。
Who:jsc-gitea wiki 技能與其呼叫方(jsc-log 等)的 wiki 頁型解析功能。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-24 11:36:49 +08:00

2.9 KiB

name, description
name description
wiki Read or write a Gitea wiki page through tools/gitea.sh and tools/hash-id. Resolve the wiki repo per page type with JSC_WIKI_REPO_{TYPE} first, then JSC_WIKI_REPO, and ask only when neither is set. Page content is chart-first - prefer mermaid diagrams and markdown tables over plain prose. Used by jsc-ask, jsc-sdlc, and jsc-log for wiki pages, including ERROR pages, not for repo code files.

wiki — read and write Gitea wiki pages

Every wiki operation in the jsc skill set goes through this skill. One entry point, one permission path.

Resolve the wiki location

Different page types can live in different {owner}/{repo} repos, classified by page-name prefix: QUESTION, PLAN, ANALYZE, MAINTAIN, REPO, LOG, LEARN, ERROR.

  1. Before asking the user, inspect the current shell environment for the needed repo variables and Gitea connection variables: JSC_WIKI_REPO_{TYPE}, JSC_WIKI_REPO, GITEA_HOST, and GITEA_TOKEN. Use inherited shell values first; only ask when the needed repo cannot be resolved after that check.
  2. Run tools/gitea.sh wiki-repo {TYPE} (TYPE = the page-name prefix). Allowed types are QUESTION, PLAN, ANALYZE, MAINTAIN, REPO, LOG, LEARN, and ERROR. Resolution order is JSC_WIKI_REPO_{TYPE} first, then JSC_WIKI_REPO. Never borrow another type's repo.
  3. On exit 3 (neither is set after env inspection), ask the user for that page type's {owner}/{repo} per the jsc-ask:ask rules, and suggest setting JSC_WIKI_REPO_{TYPE} (can differ per type) or JSC_WIKI_REPO (shared default).

Operations

Action Command
list pages tools/gitea.sh wiki-list {owner}/{repo}
read page tools/gitea.sh wiki-get {owner}/{repo} {page} (exit 4 when missing)
write page write the content to a temp file first, then tools/gitea.sh wiki-put {owner}/{repo} {page} {file} (creates or updates automatically)

Rules

  1. Page names must follow the wiki naming table in the skill guidelines (see jsc-meta/references/guidelines.md).
  2. Use tools/hash-id for {HASH} values. It returns the first 8 uppercase SHA-1 hex chars, or H plus the first 7 chars when the raw hash starts with 0-9, A, B, or C.
  3. To update a contents page (*_CONTENTS): wiki-get it first, apply the template to append or modify, then wiki-put the whole page back. Never overwrite entries owned by others.
  4. Write all wiki content in UTF-8 Traditional Chinese, per the STE100 output rule.
  5. Prefer visual forms for page content: use mermaid diagrams (flowchart, sequence, gantt, pie) and markdown tables wherever the information allows. Plain running text is the last resort, kept short.
  6. Authentication fallback is built into tools/gitea.sh: on a missing GITEA_TOKEN or a 401/403 response it retries with the tea CLI login token automatically, so only report an auth failure when both paths fail.