CtrlK
BlogDocsLog inGet started
Tessl Logo

github-repo-signals

Extract and score leads from GitHub repositories by analyzing stars, forks, issues, PRs, comments, and contributions. Produces unified multi-repo CSV with deduplicated user profiles. No paid API credits required.

56

Quality

70%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./skills/lead-generation/packs/lead-gen-devtools/github-repo-signals/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

57%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is highly actionable — exact commands, scoring weights, scripted analysis steps, and explicit user-confirmation gates — and it correctly points to a real bundle script. Its main weaknesses are the absence of any output-validation checkpoint in a long-running batch workflow, incoherent step numbering (Phase 3 / missing Step 4), and heavy inlining of reference-grade material (CSV schemas, interpretation guide) that should live in separate one-level-deep files.

Suggestions

Add a validation step after running the tool, e.g., 'Check the output CSV exists and has the expected row count; if the run failed or was rate-limited, report the error and retry with a smaller --limit', to lift workflow_clarity above the batch-operation cap.

Move the two CSV column tables and the 'Output Interpretation Reference' into a references/OUTPUT_SCHEMA.md and link to it, keeping SKILL.md as a lean overview.

Fix the step numbering: renumber the post-run steps consistently (Steps 1-8 under one scheme) and remove the orphaned 'Phase 3' header so the sequence reads coherently.

DimensionReasoningScore

Conciseness

The body is mostly operational instruction rather than concept explanation, but it can be tightened: the two full CSV column tables ('repo_signals_users.csv — One row per person...', 'repo_signals_interactions.csv — One row per user x repo combination') and the 'Output Interpretation Reference' section are reference material inlined in SKILL.md, and the scoring-weights list duplicates what the script already implements. Not 2 because there is no padding that explains concepts Claude already knows; not 4 because several sections are reference-grade content that adds tokens without being needed at execution time.

3 / 5

Actionability

Concrete, executable guidance throughout: the exact command 'python3 ${CLAUDE_SKILL_DIR}/scripts/gh_repo_signals.py --repos ... --limit ... --output ...' (verified: scripts/gh_repo_signals.py exists in the bundle), 'gh auth status', explicit scoring weights, exact user-facing questions to ask, and specific cost formulas ($0.05/$0.20 per enrichment). Not 5 because of minor gaps: the '--output .../repo_signals.csv' argument's relationship to the two produced files ('_users.csv' and '_interactions.csv') is left implicit, and 'Estimate credit cost: N users x cost per enrichment call' leaves the agent to supply the rate.

4 / 5

Workflow Clarity

A clear sequence exists (verify environment -> run tool -> review output -> collect context -> analyze -> recommend -> ask go-ahead) with some checkpoints ('Do NOT proceed to analysis until you have this context', 'Wait for user confirmation before spending any credits'). However, this is a batch operation (hundreds to thousands of API calls producing CSVs) with no step validating that the run succeeded or that the output files contain expected data before analysis, which caps workflow clarity at 3 per the rubric. Numbering is also incoherent: 'Execution Steps' ends at Step 3, a 'Phase 3' header appears mid-flow, and Step 4 is missing entirely.

3 / 5

Progressive Disclosure

The body has good section headers and correctly references the real bundle script (${CLAUDE_SKILL_DIR}/scripts/gh_repo_signals.py exists alongside gh_common.py, gh_contributors.py, etc.), but there is no references/ layer at all: the CSV column schemas, the output-interpretation guide, and the long conditional recommendation framework are all inlined in a ~220-line SKILL.md instead of being split into one-level-deep reference files. Not 2 because the content is well-sectioned and navigable; not 4 because content that clearly belongs in separate reference files is inline.

3 / 5

Total

13

/

20

Passed

Description

71%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description is strong on specificity and distinctiveness with concrete, jargon-appropriate interaction terms, but it omits any 'Use when...' trigger clause, which caps its completeness and limits discoverability. Adding explicit trigger phrases (e.g., 'Use when the user wants to find leads or prospects from GitHub repositories') would lift it to the top band.

Suggestions

Add an explicit trigger clause, e.g., 'Use when the user wants to find leads or prospects from GitHub repositories, or analyze who interacts with specific open-source repos.'

Include common user phrasings such as 'lead generation', 'prospects', or 'developer ICP' alongside 'leads' to broaden natural keyword coverage.

State the when-context for the 'No paid API credits required' claim (i.e., that enrichment can follow later) so it reads as a trigger rather than a bare disclaimer.

DimensionReasoningScore

Specificity

Quotes: 'Extract and score leads from GitHub repositories by analyzing stars, forks, issues, PRs, comments, and contributions. Produces unified multi-repo CSV with deduplicated user profiles.' Multiple specific concrete actions (extract, score, analyze six named interaction types, produce deduplicated CSV) with comprehensive coverage of the skill's capabilities; not the level below (4) because coverage is full rather than having minor gaps.

5 / 5

Completeness

The 'what' is clear and concrete ('Extract and score leads from GitHub repositories... Produces unified multi-repo CSV'), but there is no 'Use when...' clause or equivalent trigger guidance — the rubric guideline caps completeness at 3 for a missing explicit 'when'. Not 4 because the 'when' is entirely absent rather than just under-specified.

3 / 5

Trigger Term Quality

Quotes: 'leads', 'GitHub repositories', 'stars, forks, issues, PRs, comments, contributions', 'user profiles', 'CSV'. Good natural keyword coverage for a user asking for GitHub lead mining, but common synonyms like 'lead generation', 'prospects', or 'lead enrichment' are absent. Not 5 because the anchor requires comprehensive synonyms/extensions; not 3 because the interaction-type terms are exactly what a user would name.

4 / 5

Distinctiveness Conflict Risk

Quotes: 'Extract and score leads from GitHub repositories', 'deduplicated user profiles', 'No paid API credits required'. A clear niche (lead extraction/scoring from GitHub interaction data) with distinct triggers that would rarely fire for unrelated skills. Not 5 because it could mildly overlap with generic GitHub-analysis or data-export skills since it never states its lead-generation purpose in 'when' terms.

4 / 5

Total

16

/

20

Passed

Validation

87%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

allowed_tools_field

'allowed-tools' contains unusual tool name(s)

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

14

/

16

Passed

Repository
gooseworks-ai/goose-skills
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.