opendatahub-io/docs-skills/docs-workflow-code-analysis

Claude Code and agent skill by opendatahub-io/docs-skills

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Run code-learner analysis on a source repository for the docs orchestrator workflow. Dispatches a subagent to run learn-code, keeping the heavy orchestration out of the main context. Produces ONBOARDING.md, module registry, per-module summaries, and cross-module relationship data.

Install

npx vskill@latest install opendatahub-io/docs-skills/docs-workflow-code-analysis

SKILL.md

docs-workflow-code-analysis

Orchestrator step skill that wraps learn-code to analyze a source repository and produce structured code understanding for downstream documentation steps.

Arguments

FlagRequiredDescription
--repoYesPath to the cloned source repository
--ticketYesJIRA ticket ID
--output-dirYesBase output directory (.agent_workspace/<ticket>/code-analysis/)

Execution

1. Validate inputs
  • Verify --repo directory exists and is a git repository
  • Verify --output-dir parent exists; create output directory if needed
2. Check for cached analysis

Check if learn-code output already exists. Learn-code may store results in two locations depending on the subagent's working directory:

  1. Inside the repo: ${REPO}/.agent_workspace/*/synthesis/ONBOARDING.md
  2. At the docs repo level: ${GIT_ROOT}/.agent_workspace/${REPO_NAME}/synthesis/ONBOARDING.md (where GIT_ROOT is the documentation repo root and REPO_NAME is basename "${REPO}")

Check both locations:

bash
REPO_NAME="$(basename "$REPO")"
# Derive the docs-repo root from OUTPUT_DIR
# (<docs-root>/.agent_workspace/<ticket>/code-analysis) by stripping from
# `.agent_workspace` onward. Do NOT use `git rev-parse`, which returns
# whichever repo the cwd is inside and points at the wrong root if the agent
# drifted into the source repo.
GIT_ROOT="${OUTPUT_DIR%%/.agent_workspace/*}"
# Check inside the cloned repo first
LEARN_CODE_ONBOARDING="$(ls "${REPO}/.agent_workspace/"*/synthesis/ONBOARDING.md 2>/dev/null | head -1)"
# Fall back to docs-repo-level .agent_workspace/<repo-name>/
if [[ -z "$LEARN_CODE_ONBOARDING" ]]; then
LEARN_CODE_ONBOARDING="$(ls "${GIT_ROOT}/.agent_workspace/${REPO_NAME}/synthesis/ONBOARDING.md" 2>/dev/null)"
fi

If an ONBOARDING.md is found at either location, the analysis was already completed. Locate the corresponding base directory (the parent of synthesis/) and copy the onboarding guide to --output-dir. All other analysis files stay at the cached location — downstream agents read them from there directly.

bash
# Find the learn-code base directory containing the cached analysis
LEARN_CODE_BASE="$(dirname "$(dirname "$LEARN_CODE_ONBOARDING")")"
cp "${LEARN_CODE_BASE}/synthesis/ONBOARDING.md" "${OUTPUT_DIR}/"

Skip to step 4.

3. Dispatch learn-code subagent

You MUST use the Agent tool to run learn-code in an isolated subagent. Do NOT invoke Skill: learn-code inline — that would load 850+ lines of skill text plus all intermediate orchestration into the main context.

Agent:
description: "Run learn-code analysis on <REPO>"
prompt: |
Run the learn-code skill to analyze the source repository.
Skill: learn-code, args: "<REPO>"
After learn-code completes, report the location of the output files
(ONBOARDING.md, registry.json, detection.json, summaries/, relationships/).

After the agent completes, locate the learn-code output. Check both possible locations (same as step 2):

bash
REPO_NAME="$(basename "$REPO")"
# Derive the docs-repo root from OUTPUT_DIR
# (<docs-root>/.agent_workspace/<ticket>/code-analysis) by stripping from
# `.agent_workspace` onward. Do NOT use `git rev-parse`, which returns
# whichever repo the cwd is inside and points at the wrong root if the agent
# drifted into the source repo.
GIT_ROOT="${OUTPUT_DIR%%/.agent_workspace/*}"
# Check inside the cloned repo first
LEARN_CODE_ONBOARDING="$(ls "${REPO}/.agent_workspace/"*/synthesis/ONBOARDING.md 2>/dev/null | head -1)"
# Fall back to docs-repo-level .agent_workspace/<repo-name>/
if [[ -z "$LEARN_CODE_ONBOARDING" ]]; then
LEARN_CODE_ONBOARDING="$(ls "${GIT_ROOT}/.agent_workspace/${REPO_NAME}/synthesis/ONBOARDING.md" 2>/dev/null)"
fi
# Copy analysis output to the step's output directory
LEARN_CODE_BASE="$(dirname "$(dirname "$LEARN_CODE_ONBOARDING")")"
cp "${LEARN_CODE_BASE}/synthesis/ONBOARDING.md" "${OUTPUT_DIR}/"

If ONBOARDING.md is not found at either location after the agent completes, mark the step as failed and report the error.

4. Write step-result.json

Do not hand-author the sidecar — a hand-written sidecar drifts from the schema (e.g. string counts where the schema requires integers) and uses an orchestrator-delayed timestamp instead of a real wall-clock one. Run the script:

bash
python3 ${CLAUDE_SKILL_DIR}/scripts/write_step_result.py \
--ticket "<TICKET>" \
--repo "$REPO" \
--analysis-path "$LEARN_CODE_BASE" \
--sidecar "${OUTPUT_DIR}/step-result.json"

The script reads the analysis files at LEARN_CODE_BASE (not OUTPUT_DIR — the analysis files are not copied there) to derive the metrics deterministically:

  • module_count: length of the module-registry/registry.json array.
  • relationship_count: count of .json files in relationships/.
  • languages_detected: keys of language_counts in detection/detection.json, falling back to

primary_language.

It writes the conformant step-result.json with a real wall-clock completed_at. If the script exits non-zero, fix the arguments and re-run; do not substitute a stub.

5. Report completion

Print summary:

Code analysis complete:
- Modules: <N>
- Relationships: <N>
- Languages: <list>
- Output: <output-dir>

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
4
7-day trend score
0

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/opendatahub-io/docs-skills/docs-workflow-code-analysis/badge)](https://verified-skill.com/skills/opendatahub-io/docs-skills/docs-workflow-code-analysis)

Something wrong with this skill or its page? Tell us.