SuperAPI AI Directory

join-project

Office & productivity

View repository

Updated 10-15 22:10

About this skill

Skill: join-project

WHAT

Purpose and context

  • Purpose: quickly orient into a running project that already has llmwiki/ — understand the context (what the project is, key technical points, recent changes, tools state) without re-analyzing the entire code.
  • Trigger (when to use): Agent or new dev joins midway into a project that already has llmwiki/ — needs to understand the context quickly without re-analyzing the entire code.
  • Non-goals: do not modify the wiki (read-only with wiki pages), do not install harness / RTK / tools (that is the job of new-project-setup or /harness-update, user decides), do not onboard a codebase that does not have a wiki (→ new-project-setup, gap section → onboard-codebase).

Mental model

llmwiki/ có sẵn → index + log + Architecture → 3 concept được [[link]] nhiều nhất → trạng thái skills/harness → bản tổng hợp orient cho người/agent mới. The wiki is the source; the skill only reads and summarizes, does not fill gaps with guesses.

Input and output contract

Field Required? Meaning
In repo has llmwiki/wiki/index.md yes missing → stop, suggest new-project-setup
In llmwiki/wiki/concepts/Architecture.md no if present, read it to get the stack
Out orient report yes project + stack · 3 technical points · recent changes & open items · skills state (installed/missing) · suggestion onboard-codebase for big gaps
Out harness state yes harness: ON or MISSING (indicator only)
Out draft output report yes (unless 0 artifacts/decisions) llmwiki/wiki/sources/draft/DDMMYY-<ten>.md (Delivery section)

Rules and capabilities

  • RULE-01 (MUST): Read-only — do not create or modify any wiki file
  • RULE-02 (MUST): Do not set up RTK or other tools — that is the job of new-project-setup
  • RULE-03 (MUST): If the wiki is empty or stale: say so clearly, do not fabricate context
  • Capabilities: read the wiki + list the local skills directory; write only the draft output report in the Delivery section. No network, no installation.

Failure boundaries

  • llmwiki/wiki/index.md not present → blocked: stop, suggest running new-project-setup.
  • Harness MISSING → partial: only REPORT, propose /harness-update, do not install automatically.
  • Wiki empty/stale → partial: state it clearly in the report, do not make up context.
  • Skills missing → report + suggest INVOKE: sync-template.

HOW

Main workflow

Step Type Inputs Action Outputs/exit Failure/next
W01 deterministic repo CHECK valid llmwiki + harness installed ok / missing llmwiki missing → blocked; harness missing → B01
W02 effect wiki Read index, 20 latest log entries, Architecture.md if present overview —
W03 deterministic wiki Find 3 concepts that are [[reference]] the most, READ each file 3 concepts empty result → B02
W04 deterministic machine CHECK tools (.claude/commands/, ~/.agents/skills/) installed/missing missing → B03
W05 judgment W02–W04 Synthesize & report orient report large gap → suggest onboard-codebase
W06 effect result Output report draft (Delivery section) draft + index + log 0 artifact/decision → skip

Details of each step (source of truth for W01–W05):

1. CHECK — is llmwiki valid? Is the harness installed?

test -f llmwiki/wiki/index.md && echo ok || echo "llmwiki missing — run new-project-setup instead"
# Harness enforcement (hooks chặn raw/, Origin, index-sync) có chưa:
test -f llmwiki/.claude/hooks/pre_tool_use.py && echo "harness: ON" \
  || echo "harness: MISSING — đề xuất user gọi /harness-update (skill tự cài + backfill nợ)"

If llmwiki missing: stop, suggest running new-project-setup. If harness MISSING: only REPORT (this skill is read-only) — installing is the user's decision.

2. Read overview:

# Đọc theo thứ tự:
READ: llmwiki/wiki/index.md           # danh sách toàn bộ wiki pages
READ: llmwiki/wiki/log.md (20 entries mới nhất)   # recent changes
READ: llmwiki/wiki/concepts/Architecture.md       # nếu tồn tại

3. Find the 3 most-referenced concepts:

grep -roh '\[\[.*?\]\]' llmwiki/wiki/ | sort | uniq -c | sort -rn | head -5

→ Pick 3 concept files from the list, READ each file. Fallback if the result is empty:

ls -t llmwiki/wiki/concepts/ | head -3

READ the first 3 files by mtime.

4. CHECK tools:

ls .claude/commands/ 2>/dev/null || echo "Claude skills: not installed"
ls ~/.agents/skills/ 2>/dev/null  || echo "Agent skills: not installed"

If missing: INVOKE: sync-template (step 7 auto-installs all).

5. Synthesize & report: Print:

  • What the project is, main stack (from Architecture.md or index)
  • 3 most important technical points (from the concepts just read)
  • Recent changes & open items (from log.md)
  • Skills state (installed / missing)
  • If there are large gaps in the wiki: suggest INVOKE: onboard-codebase for that part

Branches

ID Kind Guard Behavior Skip / failure Rejoin
B01 conditional_required llmwiki/.claude/hooks/pre_tool_use.py not present report "harness: MISSING", suggest the user call /harness-update does not auto-install W02
B02 recovery grep [[...]] empty fallback ls -t llmwiki/wiki/concepts/ take the 3 latest files, READ the first 3 files by mtime concepts/ empty → report wiki empty W04
B03 conditional_required missing skills (Claude or Agent) suggest INVOKE: sync-template — W05

Validation and stopping

The W05 report must have all 5 sections; every claim traces back to a wiki file that was read. Stop immediately at W01 if llmwiki is missing.

Examples

  • Positive: repo has llmwiki/ + harness → W01 "ok" + "harness: ON" → read index/log/Architecture → 3 concept top-link → report "Project X, stack Next.js + Postgres; 3 technical points…; recent: 5 log entries; skills: installed".
  • Boundary/failure: repo does not have llmwiki/wiki/index.md → print "llmwiki missing — run new-project-setup instead" and stop, do not read further, do not invent an overview.

Delivery — Output Report

After all main skill tasks complete, write a propose draft to the wiki.

Steps

1. Build the filename:

  • Format: DDMMYY-<ten>.md
  • DDMMYY = today (e.g., 020626 for 2 June 2026)
  • <ten> = 2–4 kebab-case words summarising what was done (e.g., landing-page-coteccons, brand-kit-fintech, ingest-auth-spec)

2. Write llmwiki/wiki/sources/draft/DDMMYY-<ten>.md:

---
type: draft
title: "DDMMYY-<ten>"
status: proposed
tags: [<skill-name>, output-report]
timestamp: YYYY-MM-DD
---

# DDMMYY-<ten>
**Type:** draft
**Status:** proposed
**Tags:** <skill-name>, output-report
**Proposed:** YYYY-MM-DD

## What
<One sentence — what this skill invocation produced or decided>

## Output
<Key artefacts, files created/modified, or decisions made>

## Files
| File | Action |
|------|--------|
| `path/to/file` | created / modified |

## Notes
- Invoked via: `/<skill-name>` skill

## Origin
- **Draft:** `wiki/sources/draft/DDMMYY-<ten>.md`
- **Commit:** _(filled by verify-before-commit)_
- **Date promoted:** _(filled by verify-before-commit)_

3. Update wiki index & log:

  • llmwiki/wiki/index.md — append one row: | [DDMMYY-<ten>](sources/draft/DDMMYY-<ten>.md) | draft | YYYY-MM-DD |
  • llmwiki/wiki/log.md — append: ## YYYY-MM-DD — <skill-name> — <ten>

Skip only when the skill produces zero artefacts and zero decisions (e.g., a pure display mode like /caveman-stats).