commit a87992a40507e2d9831a42a5fe7c34cc85be96ce Author: qwenpaw-skills Date: Sun Aug 9 00:36:07 2026 +0000 Publish guidance via gitea-publish skill diff --git a/SKILL.md b/SKILL.md new file mode 100644 index 0000000..f248902 --- /dev/null +++ b/SKILL.md @@ -0,0 +1,137 @@ +--- +name: guidance +description: "Answer user questions about QwenPaw installation and configuration: first locate and read local documentation, then distill the answer; if local information is insufficient, fall back to the official website documentation." +metadata: + builtin_skill_version: "1.2" + qwenpaw: + emoji: "🧭" + requires: {} +--- + +# QwenPaw Installation and Configuration Q&A Guide + +Use this skill when the user asks about **QwenPaw installation, initialization, environment configuration, dependency requirements, or common configuration options**. + +Core principles: + +- Check local documentation first, then answer +- Base answers on what has actually been read, do not speculate +- Answer in the same language the user used to ask + +## Standard Flow + +### Step 1: Locate the Documentation Directory + +**Check for documentation directory in memory** + +First, check whether there is a documentation directory in memory. If found, use it directly; otherwise, proceed to the next step. + +```bash +# Get the documentation directory from memory +DOC_DIR=$(find ~/.qwenpaw/memory/ -type d -name "docs") +``` + +If there is no documentation directory in memory, continue with the following logic. + +**Check the documentation directory in the project source code** + +Run the following script logic to obtain the variable $QWENPAW_ROOT: + +```bash +# Get the absolute path of the binary +COP_PATH=$(which qwenpaw 2>/dev/null || whereis qwenpaw | awk '{print $2}') + +# Logical deduction: if the path contains .qwenpaw/bin/qwenpaw, the root is three levels up +# Example: /path/to/QwenPaw/.qwenpaw/bin/qwenpaw -> /path/to/QwenPaw +if [[ "$COP_PATH" == *".qwenpaw/bin/qwenpaw" ]]; then + QWENPAW_ROOT=$(echo "$COP_PATH" | sed 's/\/\.qwenpaw\/bin\/qwenpaw//') +else + # Fallback: try to get the parent of the parent directory + QWENPAW_ROOT=$(dirname $(dirname "$COP_PATH") 2>/dev/null || echo ".") +fi + +echo "Detected QwenPaw Root: $QWENPAW_ROOT" +``` + +Verify and list the documentation directory: +Use the derived $QWENPAW_ROOT to locate the documentation: + +```bash +# Construct the standard documentation path +DOC_DIR="$QWENPAW_ROOT/website/public/docs/" + +# Check if the path exists and list files +if [ -d "$DOC_DIR" ]; then + find "$DOC_DIR" -type f -name "*.md" | head -n 100 +else + # If the derived path is incorrect, perform a global fuzzy search + find "$QWENPAW_ROOT" -type d -name "docs" | grep "website/public/docs" +fi +``` + +**If project documentation does not exist, search the working directory** + +If documentation is still not found, search for available documentation content under the qwenpaw installation path: + +```bash +# Look for characteristic files such as faq.en.md or config.zh.md +FILE_PATH=$(find . -type f -name "faq.en.md" -o -name "config.zh.md" | head -n 1) +if [ -n "$FILE_PATH" ]; then + # Use dirname to get the directory containing the file + DOC_DIR=$(dirname "$FILE_PATH") +fi +``` + +If a documentation directory is found, save it in memory in this format: + +```markdown +# Documentation Directory +$DOC_DIR = +``` + +### Step 2: Documentation Search and Matching + +Documentation files follow the naming format `..md` (e.g., `config.zh.md`, `config.en.md`, `quickstart.zh.md`). + +Use the find command to list all matching documents in the target directory, and identify the target as based on filename keywords (e.g., install, env, setup). + +```bash +# List all matching documents +find $DOC_DIR -type f -name "*.md" +``` + +If no suitable document is found, read all documentation contents in the next step. + +### Step 3: Read the Documentation Content + +After finding candidate documents, read and identify the paragraphs relevant to the question. You can use: + +- `cat ` +- `file_reader` skill (recommended for longer documents or paginated reading) + +If the documentation is long, prioritize reading the sections most relevant to the question (installation steps, configuration options, example commands, notes, version requirements). + +### Step 4: Extract Information and Respond + +Extract key information from the documentation and organize it into an actionable answer: + +- Give the direct conclusion first +- Then provide steps / commands / configuration examples +- Include necessary prerequisites and common pitfalls + +Language requirement: the answer language must match the language of the user's question (answer in Chinese if asked in Chinese, answer in English if asked in English). + +### Step 5 (Optional): Official Website Lookup + +If the previous steps cannot be completed (no local documentation, missing documentation, or insufficient information), use the official website as a fallback: + +- http://qwenpaw.agentscope.io/ + +Answer based on the content available from the official website, and clearly state in the answer that the conclusion comes from the official website documentation. + +## Output Quality Requirements + +- Do not fabricate non-existent configuration options or commands +- When there are version differences, clearly note "please refer to the current documentation version" +- For paths, commands, and configuration keys, provide copy-pasteable original snippets whenever possible +- If information is still insufficient, clearly state the gaps and tell the user what additional information is needed (e.g., operating system, installation method, error logs)