Before anyone builds a new skill or script, check whether one already exists. This skill fetches the current state of the farty-bobo repo live — no stale catalog.
Run the following gh api commands in parallel to discover everything available.
Skills (fartybobo/farty-bobo):
gh api "repos/fartybobo/farty-bobo/contents/skills" --jq '.[].name'
For each skill name, read its SKILL.md frontmatter (name + description):
gh api "repos/fartybobo/farty-bobo/contents/skills/<name>/SKILL.md" --jq '.content' | base64 -d
Hooks (fartybobo/farty-bobo):
gh api "repos/fartybobo/farty-bobo/contents/hooks" --jq '[.[] | select(.name | endswith(".sh")) | .name]'
For each hook, read its header comment (first 20 lines is enough):
gh api "repos/fartybobo/farty-bobo/contents/hooks/<name>" --jq '.content' | base64 -d | head -20
Batch these calls aggressively — fetch all skill SKILL.md files in parallel, all plugin READMEs in parallel, etc. Do not fetch sequentially.
The user’s query is in the skill arguments. Scan everything fetched for tools whose description, trigger keywords, or stated purpose overlaps with the ask.
Cast wide — an 80% match is worth surfacing. Rank by fit: exact trigger-keyword match > description overlap > general category match.
For each match, output:
**<Tool name>** (`/<skill-name>` for skills · `<plugin>:<agent>` for agents)
Source: <repo> · <path>
<One sentence on why it fits this specific query.>
<Any caveats — things the tool does NOT cover, or extra steps needed.>
If multiple tools match, order best-to-worst and note if they should be combined (e.g. /plan-task then /build).
End with: “No need to build anything new — use the above.”
Say clearly that no existing tool covers this. Name the closest thing and why it falls short.
Then ask the user whether they want to see the full tool catalog using an interactive prompt with exactly two options:
Want to see the full list of available tools?
> Yes
No
If the user selects Yes:
Print every tool discovered in step 1, grouped into three sections:
## Skills
- **<name>** — <one-line description>
Source: fartybobo/farty-bobo · skills/<name>
## Hooks
- **<hook-filename>** — <one-line description from header comment>
Source: fartybobo/farty-bobo · hooks/<hook-filename>
Omit a section entirely if it has no entries. After the list, add: “None of these cover your original query — you may need to build something new.”
If the user selects No:
Ask: “Do you have any other questions about the available tools?” Wait for the user’s response and answer accordingly. Do not start building anything.